February 7, 2017

Why Rails is still worth learning in 2017

You're interested in programming, in getting into web development, Ruby and Rails seem like a great place to get started. However you hear experienced developers talking, saying things like "Rails is dying" and it can seem like Node.js is just taking over the web development world with people jumping onto what is the new hot tech.

Here are some reasons why if you like Ruby and want to get into Rails development to build applications it is, as it has been for a long time, an excellent choice to use to learn how to create web applications.

Designed for Developer Happiness

Ruby has been designed from the start in a way that is supposed to be joyful to programmers during use. It's intended to have the principle of least surprise. That you should be able to do things that seem like they will work. It is not designed to be the most optimised when it is being interpreted by the computer but optimised to be read by people, with expressive code that when well utilised can reveal the intention of the developer without much extra documentation needed.

Rails is now a very mature framework

Ruby on Rails has recently released v5.0. Since it was first released for public consumption in 2004, Rails has built many features of the typical web application straight into the framework. This means you don't need to make trivial decisions about how to hook up your application. You can start writing it, focusing on the logic and features that are specific to your app. These framework features do not mean that you will not need to write some non-feature code at times, but out of the box, you can connect to a database (ActiveRecord). You will be able to receive requests and route them to the code they need to run and render pages, (ActionPack and ActionView) and be able to serve assets for your pages as well, (Sprockets/The Asset Pipeline), just to name some of the things available to you.

Large community of experience to help you

With Rails having been around for so long, it has built up a big community of developers who are actively sharing either their expertise, or code, or both with the community. At the time of this post, Rails has 3,231 contributors to its code, and this is just a small fraction of developers who use it. As well as contributing code, the community is very active in supporting each other, sharing knowledge on the internet on how they have built things with Ruby and Rails and ways that you can create software with it as well.

Healthy Job market

Alongside the community, there is also a healthy job market for Rails developers. Having spoken to Lookahead Search*, there is always various jobs going here in Australia in both Sydney and Melbourne (our two largest cities), but this is from places actively recruiting for positions and does not count their clients that are "always hiring". If you can get a good grasp on solving problems and building applications with Rails, there will be a job for you if you want one.

As for people thinking that Rails is dying or that Node.js is taking over, that's just crazy. Node.js is growing quite a lot, and if you prefer it to Ruby and Rails, then you should use it instead. There is no one way to build stuff. Anyone that is talking about dead technology and you should use X instead are very likely trying to justify their decision to use it, and if they can convince you to as well, then they must have been right. With web development there are so many ways and languages to build applications with, as long as they can send HTML and CSS to a web browser and the users can use it, then you're mostly ready to go.

There will always be a new hot technology and early adopters who advocate it, these things are exciting and fun, and people should be doing it. It doesn't mean that this is now the one way to write software and that everything should be developed in, and put into production right away.

Ruby on Rails is an excellent way to write web applications, if you like how it looks, feels to use it, you should give it a try, see what you can learn and build. If that's what you want to do, I'm happy to help along the way.

Happy building.

* If you are in Australia and want a new gig, Lookahead Search are the people to contact. They are the only recruitment place I recommend, best in the business.