I'm Switching to Ruby on Rails... Here's Why
I get it. Ruby is a "dying language", and Rails is "out of vogue".
Here's the thing:
I'm not learning Rails to get a job.
I mean, if learning Ruby or Rails will make me more employable, then that's great.
But getting a Rails job is not my goal.
My goal with learning Rails is because it is still to this day the de-facto way to spin up fully featured webapps quickly.
You might ask:
But Ruby and Rails doesn't scale!
And to that, I'd say:
I'm not trying to build for scale... yet.
The goal with learning Rails is to spin up MVPs quickly, not scale to a million users.
If my product has so many users that Ruby or Rails is the bottleneck, well, then that's a good problem to have.
But the fact is, many multi-million dollar businesses (e.g. GitHub, AirBnb, Shopify) have built their products on Rails, so I'm skeptical of claims that Rails is the reason for performance issues.
As long as you're following the conventions, Rails should take you a long way, which brings me to my next point.
Rails conventions removes the need to architect from scratch.
- What database are you going to use?
- How are you going to send emails and background jobs?
- What folder structure are you going to use in your repository?
Some might argue this customizability is a feature, not a bug.
But I don't want to think about all of that. I want to focus on a building a product.
Give me a SQL database, tell me how to send emails, and tell me the file structure of the project, and let's get on with it.
So in conclusion:
Rails lets you focus building your product.
And that's why I'm learning Rails.
Not because I think Ruby is a great programming language.
But because, to this day, I believe Rails to be best-in-class at what it does: spinning up webapps quickly.