Why should I learn Ruby on Rails?

Adrian Nowak
03 February 2020
4 min read

Learning a programming language like Ruby on Rails is usually an investment for many years ahead, especially if that's the first one you’re learning. It's not hard to imagine how starting from a specific technology can shape not only the next projects you'll be working with but also your way of thinking about software development. So why learn Ruby on Rails rather than any other programming language?

How to start with Ruby on Rails

A long time ago, I was also faced with the choice of technology I'll be working with for the foreseeable future. It was around the time when real smartphones were starting to become a thing. I loved the idea of having a small computer with a Linux kernel as a device that, in the future, could help with a lot of tasks that we needed desktop computers for. The answer was quite simple then.

What I needed Ruby on Rails for...

I needed to learn Java to build applications for Android. I had some previous experience with programming, so getting used to heavy IDE wasn't a big problem. Creating simple applications for mobile devices also was quite straightforward after I learned a bit more about Android SDK. One thing was bothering me, though — the building process wasn't as fun as I thought it would be.

Only after that, I've started to search for alternatives. I knew right away that iOS with Objective C wasn't the answer I was looking for, and honestly, I almost gave up with my research. It must look like this, so let's continue and maybe in time I'll get used to it — I told myself and just went back to coding and compiling.

And what sealed the deal

A few days later, by some strange stroke of luck, I visited my friend who was a web developer at the time. Immediately, I noticed how clean his workspace looked — Sublime Text editor, neatly styled Terminal on the second screen, and web browser. And that was it — no bloated IDEs or emulators. All he needed to deliver his work was a fancy code editor.

Knowing what the alternative was, it was clear that this was the setup I wanted to spend my days with. Later I learned that my friend was building a Ruby on Rails application and, more importantly, that he enjoyed the simplicity of the language, the community, and the process.

What is Ruby on Rails used for?

Ruby on Rails is great for prototyping, which means you can build a small application very quickly. The framework already contains common elements that you would otherwise need to write yourself if it wasn't for the great Rails community. It does not only mean it will be easy to start developing but later down the line, a lot of time is saved by not repeating yourself. If someone already solved the problem, there's a big chance you will not have to do it again.

Everybody loves it...

It's not surprising that a lot of startups are built using Ruby on Rails, and some of them are quite big: Airbnb, Groupon, Hulu, Sendgrid, Soundcloud, Zendesk, Shopify or even the liked-by-everyone Github. At this point, it is worth mentioning that while for smaller apps, Ruby on Rails is a no brainer, scaling the codebase to the point of the companies mentioned before requires serious experience and design skills.

In spite of a few cons

One of the most common critiques, when it comes to Ruby on Rails, is precisely that — it's easy to come up with an application quickly, but later it's hard to scale, and on top of that, it's slow. Fortunately, some of those problems were solved by the development of cloud platforms in recent years, where tools like Kubernetes helped, for example, Airbnb to deliver a streamlined experience, even on a huge scale.

The thing is, though, a lot of companies don't care. When you're a startup that is building a minium viable product, trying to validate a business idea, creating something fast and iterating over it is usually a better bet than starting from a large and very scalable structure (which is possible in Ruby on Rails too).

Why should I learn Ruby on Rails?

In today's world, where a new JS framework is created almost every day, why would Ruby on Rails still be relevant enough to learn it? Let's look at some facts:

  • Ruby is still evolving very fast. Even after so many years, the base of the Ruby of Rails framework is continually being updated. In 2020 we're expecting the release of Ruby 3. It means constant support from the community, security updates, but probably what's most important — performance improvements.

  • Millions of projects are based on Ruby on Rails. A lot of them are constantly being developed or require maintenance. As some projects are getting more mature, they require more focus on scaling and infrastructure design. The need for developers who can handle that will not go away anytime soon.

  • The community is great and helpful. No matter if you're installing Ruby on Rails for the first time, have just started to learn it or are trying to solve some complex issues, the chances are you will end up searching for help. With great people sharing solutions all the time for many years, it's quite hard to stay stuck on some problems for a long time.

  • It teaches you good practices. Ruby on Rails hides a lot of stuff from you, but it is also forcing some patterns of development. A neatly organized structure is beneficial with understanding the MVC pattern, which will, for sure, come in handy, even if you later decide to switch technologies.

Ruby on Rails is mature enough for steady growth, but at this point, it doesn't require as fast development of new libraries and updates as newer frameworks — because they are already done and well established. However, it has to increasingly share some of the development space with more specialized solutions, especially in the area of Machine Learning and parallel processing.

Last words

Even with the increasing number of alternatives, the core Ruby on Rails' advantages remains as true as they were a few years ago. If you are looking for a language and framework with great community support, a proven track record in millions of projects, with a great structure and one oriented on maximizing the happiness from programming, I would recommend Ruby on Rails without hesitation. 

Would you like to know more about Ruby on Rails or other frameworks? Or perhaps you'd like us to develop your project? Whatever your question, we'd be happy to hear from you. Please write to us at hello@start-up.house

You may also like...

Development

How to set up a project with Ruby on Rails, PostgreSQL and GraphQL

Setting up a project with Ruby on Rails, PostgreSQL and GraphQL is actually pretty straightforward.

Anna Dydio
24 September 2021
5 min read
Startups

PMO: Statistics, Benefits and the Changing Dynamics of Project Management

New tools, templates and techniques. New software, new systems. As more systemized project management office (PMO) syste...

David Adamick
17 September 2021
6 min read