I went self-employed exactly a year ago. At the time, I had a million ideas about apps that I could build; I had a bit of a runway from consulting gigs, and I could easily dedicate 50% of my time to my own projects! Fast-forward to today, and I've launched exactly nothing.
Every time I got excited about anything, Javascript eventually killed my enthusiasm. I am a backend / devops guy, Python or Java are no problem to me, but the JS frameworks are just not my thing. I've done some work with JQuery in the past but I know it can get out of control pretty quickly in terms of spaghetti code; and React is this wall of complexity that seems to get taller and taller the more you try to get anything done. Unfortunately, that's the world we live in: the browser rules, and the browser only knows JS (don't say brython or other hacks - they are hacks and typically result in even more problems).
Now I'm kinda reaching the end of my runway. I have to decide whether it makes sense to double down or go back to the 9-to-5, because the mortgage won't pay itself. I still have so many ideas... I have this feeling that, if only I had a JS guy to work along, we'd be changing the world - but it's just me so ... nope. What do?
If you got to the end, thanks for reading. I am a bit depressed and had to get this out of my chest.
This may sound harsh and I hope you take this advice as it's intended: to motivate you about execution vs. tinkering.
When you're saying that JS kills your enthusiasm and that you desperately in need for another person that's skilled in JS, I hear excuses. When we embark in a new adventure, there's a wall waiting for us. It hits us hard the moment our initial enthusiasm wears off.
This is where the "blood, sweat and tears" part comes in, about which makers are talking when they talk about successful projects!
I'd suggest you pick the one idea you're most excited about and focus on that until you've shipped the first version. Which is a tiny part of your whole idea – a start for solving the big problem.
Think lice Mc Gyver: work within your constraints, use what you have and what you know to solve the problem.
Create a relative solution, not an absolute one. Never try to go for the best possible solution. Aim for what’s in your reach and iterate from there!
Hope this helps :)
What makes you say JavaScript is a requirement? It absolutely isn't. There's nothing wrong with server side generated pages (Basecamp, GitHub hello?). Just use whatever you're comfortable with, especially for a MVP.
kinda agree with jiripospisil there, why not use a no-code solution? There are many of them and you can communicate with them trough api calls
The ones I looked at (airtable, qalcwise...) looked like spreadsheet enhancers. The stuff I'd like to do is fairly different, requiring things like side-by-side text-comparison widgets, and some of them would have to be deployed behind the firewall.
Look at Bubble.is or Wappler. You can build the frontend visually, then leverage your backend skills to build out the rest.
This comment has been voted down. Click to show.
Those are just nice to haves. If your product brings your customers value, they will not care. In fact most people will not be able to tell the difference.
Nothing happens overnight, it happens over time ... a long period of time.
Wish you all the best.
Best answer in my mind! Couldn't have put it any better.
Have you tried VueJS?
I also second/third the use of server side code to generate pages.
Then later on, replace parts of your pages with server calls via VueJS/javascript.
Also, you can do responsive websites without the need for JavaScript. That's just CSS and media queries. Use any of the available CSS frameworks to make development faster.
Not only is a full blown single page JS app not necessary, it's usually a mistake for a solo founder dev.
Use a back-end MVC and ship stuff! The Rails ecosystem in particular has a lot of tools to get you further without a front-end framework. Turbolinks, UJS, etc. I was literally more productive with it in two weeks than I was with Node after years of using it at my 9 to 5.
Once you've found some traction, then it's worth it to invest more in the front-end. I second @owelcodes's suggest to go with Vue. It's the simplest to get started with and it's really learned from mistakes made in React and Angular IMO.
I'm confused. You're an experienced back end coder, so you know a bit about how to organise code. Why not use those same skills with JQuery? I mean if you had to call a database, you couldn't sprinkle database calls everywhere, you'd have a database module that does database stuff. So why not have a rendering module that does rendering stuff and have all your JQuery there? It's only spaghetti code if you make it spaghetti code.
Try vue.js! If I can get my head around it, I am sure it is easy enough for everybody. I also can't get through react.
I used to feel exactly the same way coming from a .NET background. I used to cringe thinking about having to learning JavaScript.
I honestly don’t know what changed but now I love working with it. Especially React (though I’m still fairly new). Would be happy to try and help if you have anything specific thats bothering you, feel free to reach out via email on my IH account.
You can also try typescript with angular which is a bit more structured and you can do just about anything web related with python though I’ve personally never ventured to try it.
Hi Giac,
I can understand your problem.
I am a front end developer (react), and ready to work with you. please share your best ideas with me, if I like any of them we can work together to create a product out of it. I can manage java script stuff and you can manage back end. Please email me at skyword23@gmail.com
Full time (almost) working as a full stack engineer (React) but I have only one suggestion: drop JS and get the shit out. Do not obsess over tech. I have tried and failed 4 times in 12 years. Now I follow marketing first. Finally things started to work out a little bit.
Have you tried Vue.js ? it's easy to learn
I'd argue that building a whole app with a Javascript framework is overkill for most projects.
Ask yourself if your product idea absolutely has the "snappy and immediate feedback" requirement. Else you would be adding complexity to the already complex task of creating a new software product.
If you're primarily a backend engineer, perhaps you should leverage that and build a sweet API or developer tool you could sell?
Don't get frustrated. You can do it.
At the moment I think Rails (with Turbolinks enabled) would be the backend framework that allows you to write the most SPA-like app without having to fiddle with JS. You can add Turbolinks to e.g. Django too, but it requires more set up.
In any case, why not go with a backend framework you know well and sprinkle in JS where absolutely needed. Vue.js is good in that regard, you only need to learn the basics, don't have to fiddle with JS routers or state management.
Give https://nextjs.org a try, it's server side and convention over configuration framework.
React was this kind of big black impossible to understand thing for me and after doing some examples in nextjs I was like "Uh, is that it?" Then move to client side react, it's like magic all the things you don't have to worry about, no more setup listeners, events or hooking the js, all of that is done for you.
I was also like you overwhelmed by all this client side js. A few years ago started working with node + express and just recently started to learn react. Everytime I needed to touch client side js it was a mess and always avoided it. I think react solves a lot of problems, and you might find it very useful.
I still struggling with CSS though, but that's another story.
I want to give some comments right after I read first few paragraph of your article. But when I see some of these existing comments from other people, well, those are already describe some of what I want to say. Well, these comments are awesome. You should grasp it well. 😅
Okay, Well, I haven't read all these comments here, just a several comments, but I haven't found someone mention the most important thing about JS.
You have to be patient. Because, whatever you do to learn JS, especially for new comer from other language, you will arrive at the conclusion that you don't know JS. Even most people who expert in JS agree with this, that "you don't know JS". Did you know? There is even a book with this title, "You Don't Know JS".
And there is funny term is JS Developer, which is "Javascript Fatique". Try googling it.
What I want to say is that we in JS community have experienced your feeling. JS ecosystem is crazy. It's like almost everyday, there is something new to learn. You will get lost in this crazy hype.
If we take psychological research, there is what is called Dunning-Krueger Effect. Try find the graph of this effect. In my opinion, if we learn JS, we will reach the point that we feel don't know anything faster than Dunning-Krueger effect.
😁😂
Haha just kidding.
Anyway, It's crazy that JS community think people could follow this fast never ending development of JS framework. (Actually, this sentence is from someone, but I forgot where I have read this. The point is just like this).
It's okay if you feel depressed with JS. Well, it's a welcoming party for every people who want to join JS.
Enjoy the Javascript Fatique.
😅
I feel what you feel. So, what is the solution?
Don't ever try to understand everything in JS completely before you start building something. You won't build anything this way. Just build, and learn what you need along the way.
😅
There are 2 articles I want to share.
The first one is about Web Developer Roadmap which is a visualization map of what kind of things to learn to be Web Developer. Well, of course most of them are JS things. 😅This roadmap is created by Kamran Ahmed. But there so many people wrote and talked about this roadmap. https://github.com/kamranahmedse/developer-roadmap/blob/master/readme.md
The second article is the counter or critics to the Kamran Ahmed's roadmap. Now, this second article contain some important things for you. 😅 https://thenewstack.io/code-n00b-careful-wish-web-dev-roadmap-2017/
Did you really have to double space nearly every sentence in that comment and make it take up two full screens on my 27" monitor? I hate to nitpick on presentation, but c'mon Quark...
Okay, done. Sorry for that. I just edited my comments.
It's okay. I just asked because it was pretty extreme… thanks for taking the message well!
Oh, shit I did it again. Okay, let me edit all my comments.
Double space?
Oh sorry, I write the comment on my mobile phone. And, trying to be good writer, I type 'Enter' each time I write new sentence. On my mobile phone, in the textarea form, it's look good.
I never know, when I submit it, damn it become newline. I forgot, it's a comment in a web, not word processing :D Damn, 'Enter' means this indiehackers comment put new <p> tag. Haha
Sorry for that.
But, I think if someone made mistake like I do, well if you kind, you should be thinking that he may missed something or just don't know, and it never intended.
Well, I made mistake, because I love to 'Enter' when I write comment on my mobile phone, because it look prettier (on mobile), never really intended to blow up the spacing in the result.
Sorry.
No worries. I've had stuff get misformatted, too!
This comment was deleted 7 years ago
The OP already mentioned being comfortable with jQuery. No reason to spend time learning more verbose ways to do the same thing with vanilla JS when money is running out and time is of the essence!
totally correct!