HACKER Q&A
📣 bnt

Is it still feasible to learn Ruby / Rails in late 2019


A bit of context first: I was a PHP developer up to 2014, when I moved into management roles. Since then, I did a bit of Node (I personally don’t like it) but nothing else. Back in my PHP days Rails was all the hype (I guess that’s gone now?) and I wanted to learn it, but never got the time.

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)


  👤 kevinelliott Accepted Answer ✓
I have been making a living building Rails apps for over a decade. It’s never too late, and while Rails is no longer the cool kid on the block, it is worth learning because:

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!


👤 karmakaze
Don't focus on what you don't know. You can follow some tutorials without knowing what every line of code does and just repeat it in places for a bit. You can add to a working app and tweak things to learn more. It takes a surprisingly small amount of knowledge of Ruby or Rails to do things once you have a working example.

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.


👤 JMTQp8lwXL
Learn what you enjoy. It makes more sense to be an expert at something you can actually be passionate about. Even though Node.js is quite popular, it'd be a total chore for you.

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).


👤 buildbuildbuild
You haven’t missed the bandwagon. Rails is still fun, popular and has a solid job market.

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 :)