11 thoughts on “Is learning ruby ​​on rails in 2022 worth it?”

  1. IMO Rails is much more intuitive and expressive than Node/Express, and also is able to bootstrapped much more effectively.

    Don’t know about Django, but have heard it’s similar-ish to Rails.

    My opinion is similar to u/seanhogge, experiment with a few and then pick the one that feels most comfortable and learn that.

  2. Yes, it is. I think rails will still be worth to learn for quite some time. Startups and some companies often choose Rails as the core of their stack because of the reduced technical debt, speed of deliveries and being easy to teach/learn. I may sound biased, but it’s my bread maker since 2010, and I really like learning and coding on anything about Ruby and/or Rails.

    Django isn’t a bad one to learn, too. But I get bad goosebumps just looking at nodeJS and any frontend JS framework.

  3. Absolutely. I would argue RoR is the easiest to get into and start building.

    I also think there’s quite a lot of jobs available, if you are interested. For reference I finished a bootcamp and got hired inmediately after. I know, I might have gotten lucky, but I also get a lot of messages from recruiters on LinkedIn.

    It just made a career change possible for me. Give it a try, you will not regret it.

  4. I just started this year coming from primarily Laravel and it’s just as much of a pleasure as Laravel, if not better, because of the way that Ruby’s syntax is laid out.

  5. ## TL;DR

    **These options are great. Define your goal(s) choose one option accordingly and commit to it long enough. More importantly : enjoy !**

    ## 1 – Why do I want to learn web backend ?

    * for fun, because it will show me new stuff, different problems to solve, another way of doing things ?

    * for educationnal purposes, because I want to understand how web apps function through the whole stack ?

    * to achieve a specific project, where I need to be able to do backend too ?

    * to get a job as a fullstack web dev in a near future ?

    * because I realize there should be more to life than Javascript (yes, not my favorite language :D) ?

    **All these reasons (and anything else) are valid**.
    Answering that question helps me define what I want to learn precisely, and how I can/will get there.

    ## 2 – (almost) All languages and frameworks are great

    **JS + Node, Ruby + RoR and Python + Django are great.**.
    They are widely spread in small and huge apps, used by lots of companies and open-source projects.
    They have big enough communities that you’ll probably never get an unsolvable issue and have tons of free and non free quality learning material (**feel free to message me for Ruby/Rails learning stuff/tools**).

    The choice will depend on why you want to learn, how much time/ernergy you can devote to it, and a little on whether you want to spend money.

    ### Node/JS

    If you like the JS way of programming, Node is going to be great, go for it !
    Learning this backend will build on what you already know.
    This is probably the fastest way for you to be able to go fullstack for a project or a job.

    ### Rails/Ruby

    If you’d like to see another way of writing code, Rails is imo the best option.
    Ruby syntax is really sweet (for me) – the language was developped with the idea that programmers should enjoy coding.
    Learning enough of the basics to have a functionnal web app is fast, and spending time in Ruby is a good way to get better at OOP.
    And Rails is going a (strongly opinionated) good way in my opinion, I really like the Rails 7 way much better than 5 and 6.

    ### Django/Python
    I haven’t really used Python/Django, I’ve been briefly exposed to it in a militant project.
    For me, Python syntax is nicer than JS’s but not as sweet as Ruby’s.
    Python’s greatest pro might be that it’s widely used in the data analysis and ML fields, so if this appeals to you (or if you want to get a job there sometime later) give it a go.

    ### Foo/Bar
    Cases could also be made for other options : Java + Springboot, PHP + Symphony, Go+Revel…

    If it’s all the same regarding your goals, maybe give each of them a couple hours to see which feels nicest ? I’d say Ruby/Rails will, but I’m biased 😀

    ## 3 – Commitment is key

    You didn’t ask about this, but I feel like I would have liked to read this when I was wondering what backend to learn some time ago.
    I’ve done my share of language hoping in my beginner time and it turned out to be more a hindrance than anything else.

    I believe learning more than one language is a good idea : seeing that some things are done differently in JS than in Ruby made my Ruby code better, because I had to wonder why things were not done in the same way.

    I also believe it’s really worth it to commit seriously to one language from time to time.
    Committing to plain Ruby made me understand lots of things about OOP, algorithms, complexity, security, patterns, commenting, and event git usage and tooling.
    Because I was comfortable enough with the code I was writing, I was able to take a step back (whether alone or in pair programming / code reviews).
    The code became easy enough to write that I could ask myself why I was writing it this way, why I’d chosen this approach, why it was done differently in other codebases.

    So now when I write a piece of code, **I’m more intentional : I know why I write it this way**.
    Could be because it’s more readable, more performant, more suited to *[insert any context/need/constraint here]* or just because I don’t know if there is a better way and I don’t want to check it at the moment.

    My commits and code comments have improved a lot too, because I understand better the pros and cons of the way I chose.
    I also adapted my tooling to my needs : I know what I do often and want to automate, I finally settled on some code editor config, I have some snippets I can reuse because they’re present in most of my programs, etc.

    All this means that when I’m gonna learn a new language (probably Rust) it’ll be easier than if I had learnt it at the beginning, same time as Ruby.
    I’ll be able to reuse lots of concepts.
    I’ll spot the differences between the two languages faster, because the Ruby way won’t work for a lot of things in Rust, so I’ll quickly know which new concepts I need to learn and work on.
    I’ll be driven to writing better code because I’ll want to get back to the comfortable feeling of having know patterns, code that makes sense for me.
    I’ll do it all in a better environment : my tooling and learning system will be better suited to my needs.

    **Anyway, have fun learning the backend you’ll choose ;)**

  6. I started Rails recently as QA and can say that with the latest version devs are keen to learn Hotwire which promises much less of the front end JS complexity which is very appealing.

    For me the test tools are great and the convenience of the framework makes it a great place to cut your teeth, whilst not being held back in any way.

    The community might seem smaller now than it was though being new to it I couldn’t say that’s true for certain but what I do know is that there is already an answer to most of the problems you come up against already established within the framework and/or the community.

    So far I’ve really enjoyed it and believe it to be worthwhile as those companies using it may struggle to find devs so the salary’s maybe a bit higher than for other frameworks, though it can be harder to find the right job if you are particular.

    Good luck!


Leave a Comment