I am now at a crossroads, I’m fed up with management and want to transition back to development over the next 2 years. I can devote 1-2 hrs/day to learning something new. End goal is to work on small to mid sized projects in the SaaS space.
Now, every time I look at Ruby, it feels daunting because the language is quite big. Rails is even bigger. What bums me down really is that there are folks who have been doing Rails for 10+ years and I’m only starting, so job opportunities don’t look promising. Also, Rails evolved so much, a lot of tutorials are out of date, as are gems, plugins etc.
So, given all of this, what would be your take, or alternative to learn? (With the hopes of working with that tech full time in 2022)
1. There’s still a market for it. It shines at early stage, and plenty of companies like it, and the community is still decent (even though the energy of the early days is gone).
2. Many other newer frameworks and languages have borrowed many concepts from Rails and Ruby. Your learnings will translate!
3. It’s not all about money. Yes, you can make great money working with Ruby and Rails, but it’s a fun language and framework that cares about developer happiness (though, yes, there’s unhappy areas). So pick a language and framework that makes you enjoy your day. That’s why I have worked with Ruby so long.
4. Diversify. It’s not just about one language and framework. Learn other things too. Don’t put all your eggs in one basket (as it sounds like you kind of have with PHP). I particularly love learning Go, Dart, TypeScript, Vuejs, Nestjs, Swift, etc. Those are just a few. The point here is you learn the fundamentals in ways you will carry to whatever your future in programming will bring by taking some learnings from each one.
5. If you don’t actually enjoy learning new languages maybe consider another career? Not saying you should drop out of programming, but do what you love. We have one life to live. As cliche as that sounds, it’s true!
Learning to use git is a second mental task but worthwhile since it lets you get back to a 'known working state' whenever you're messing around and get to a nice point, make a git commit.
Not sure why you think Node.js is bad, but the general industry trend seems to be moving away from big frameworks to solve all of your problems, to smaller libraries that cover less territory (at least, this is my experience, focusing on the front-end space).
Use the official tutorials to build a weekend project, host it on Heroku, reach out on popular Rails slacks, freenode #rails. It’s a very friendly community, welcome :)