
Ask HN: Is it still worth it to learn RoR? - PaulBGD_
I know Go, Rust, and Node.js but I&#x27;m wondering if it&#x27;s still worth it as a freelancer to learn Rails.
======
ev_rolfe
In short, yes its still worth it, Rails is a mature and fully-fledged
framework which is not going away anytime soon. From a business perspective
there is no shortage of rails work to be had.

Anecdotally, I'm also seeing more and more traditional organisations move from
"corporate world" frameworks (Java, .NET etc.) to RoR because they are seeing
how fast smaller companies and startups that use RoR are able to get things
done. Probably also a side effect of how much people from the startup world
like to brag about how much they can "get done".

Though as a result of people seeing how fast you can get things done in rails,
I've seen a lot of really poorly coded rails sites which does hinder progress.
However I think that is an inevitable outcome of any good framework - if you
make it easy to get the boring work done then that will have two effects:

1\. it allows good developers to skip over boring or repetitive work and focus
their efforts on hard problems.

2\. it allows inexperienced or just plain bad developers to churn out
applications which may get the job done but the code will be a mess.

So yes if you enjoy coding in RoR then I see no reason not to stick with it.
However I'd suggest you pick one language/framework and stick with it. This
might not be an opinion appreciated by the hacker news crowd but the reality
of getting work as a freelancer is that most managers or potential clients
will be more impressed if you can say "5 years experience with Ruby on Rails"
rather than "5 years experience as a programmer - working with Go, Rust,
Node.JS, Ruby on Rails".

------
karmajunkie
As a freelancer, the value prop of learning Rails is that the market of
projects you can take on becomes much larger—there's a lot of legacy Rails
code out there that freelancers get hired to work on. I'd say its much more
valuable from a business perspective than either go or rust.

As a developer, however, my opinion is very different. I've been doing Rails
work for about ten years now and while in the beginning it felt great, I see
it now as a big liability in terms of long-term growth of a project. "Just add
a gem" is neither a good scalability nor a good growth story on a project.

------
gaastonsr
It's always worth to learn something new as long as it fascinates you and you
enjoy working with it. Otherwise stick deepening your knowledge in the
languages you are already know, as somebody else already said.

------
bdcravens
There's still tons of work in Rails, but I think you'd be better served by
becoming an expert in what you already know than knowing another language,
unless you're targeting the lower end income-wise.

------
Raellan
If you are indeed interested in taking a substantive look at Ruby frameworks
may I suggest opening the aperture a bit. While Rails is indeed feature rich
and "one of the big boys" you would be well served by looking at Sinatra as
well. It's as minimalist as they come while still scaling very well. Beyond
that there's also Padrino which builds upon the former very nicely and still
maintains much of Sinatra's elegance. Food for thought.

~~~
rvdavis
I agree with this wholeheartedly. When I first started learning Rails, I found
that a lot of the automagical stuff hindered my understanding of how Rails
actually worked. After building a few projects in Sinatra, it was easier to
see how much of the heavy lifting Rails does for you behind the scenes.

~~~
Raellan
Yes! I'd argue that the same can be said for Django for those either currently
using or exploring the use of the heavyweight Python web framework. Take a
look at Flask and build your understanding from the ground up. Anyway, at the
end of the day they all have their place and IRT the Op's question: It never
hurts to gain an understanding of another language/framework. There's so many
amazing projects across the entire landscape that it never hurts to have even
a cursory familiarity (e.g. breadth and depth being complementary).

~~~
bigmanwalter
And for anyone going down this path with Python, I recommend taking a look at
web2py after Flask.

web2py is where I finally settled after trying Django and Flask first. It's
got more magic in it than Django, and yet, I found Django felt heavier and
more "over-engineered". Flask, on the other hand, is very elegant, but as soon
as you start patching together a few different libraries, the cognitive load
of needing to understand Flask, WTForms and SQLAlchemy was too much for me.

web2py has most of the features of Django, but is written by only 1 person so
the API is much more consistent than a Flask-based smorgasbord. It took me a
small fraction of the time to get up to speed on the web2py documentation than
it did for me to figure out the Django and Flask ecosystems :) I recommend it
whole heartily!

------
PaulBGD_
Thanks for the help everyone, I'll add it to my list :)

