Why developers hate Ruby on Rails

Hey I’m Ahmed, a self taught software engineer. In my path of self learning, I tried multiple languages and frameworks; and one of them was Ruby on Rails.

That was at least 5 years ago, and I hated it. I didn’t know why, but it just felt different in a bad way at that time.

A few years after, exactly 3 months ago, I started learning Ruby on Rails again. But this time I was shocked! Why didn’t I learn it before? Look at how things are easier here? Why are we spending so much time in other frameworks while this is working out of the box?…

The hobby phase

As a developer, you start your coding journey as a hobby. You discovered code and how you can turn your ideas to life. Now, you’re hooked. You spend a lot of time coding and working with technology! In fact, according to this StackOverflow survey, 80% of developers code as a hobby.

Before the technology boom, people used to hate their day job. It was a source of income so they can do other things on the side. But for code, it’s different. It’s a hobby and a daily job.

It’s a no brainer that, we as developers, tend to over-architect things, build things from scratch, re-invent the wheel, etc… It’s a hobby and we want to experience the most out of it. And as a fresh software engineer discovering this new hobby, you want languages and frameworks giving you more flexibility to create, architect, and play with technology.

You can spend hours trying to make two frameworks play nicely together. Create the perfect build process. Architect your todo app. Deploy your simple app to a multi-region cloud provider, etc. And in the end, you feel happy. You don’t feel like you wasted time, because it’s your hobby! And we don’t waste time on hobbies. They are a source of happiness.

You’re in the hobby phase.

The get-things-done phase

As you get more experience in the field, you’re more likely move out of the hobby phase. This is due to different causes, and some of them are:

  • You don’t have enough time outside work to play with code (family, children, other new hobbies…)
  • Your past experiences show it’s not worth it to spend so much time early on trying to optimize
  • You’re now happier to see a product launch more than the technology behind it
  • You have a broad knowledge about the product inside your organization
  • And others…

As you reach this new phase, you do not care about frameworks and languages anymore. You want what gets the job done as your objectives are greater than the technology. You want a set of frameworks that plays nicely together and get the job done as quickly as possible. And that’s when you’ll find something like Ruby on Rails.

Ruby on Rails is a set of tools and frameworks that plays nicely together as long as you use what’s given to you. You don’t have the freedom to use new frameworks or build things the way you want. But if you abide by the Ruby on Rails rules, you’ll move faster.

You’re in the get-things-done phase. Being on the get-things-done phase is a prerequisite to liking Ruby on Rails. No one likes something that limits their “creativity” if they are still in the hobby phase.

According to the same StackOverflow survey, 67% of developers have less than 9 years of experience (40% have less than 5 years). That means, 67% are likely to be in the hobby phase. And this is one of the reasons why a lot of developers hate Ruby on Rails.

Skipping the hobby phase

Being on the hobby phase isn’t bad. In your journey as a developer, you’ll start in the hobby phase. And with time, you’ll move slowly out of it. The timing it takes depends on each individual however.

But can you avoid it altogether? Yes, there are some exceptions. These are people coming from other disciplines. They are marketers, sales, and other non-technical people who discovered they can do more with code. Their primary objective isn’t to code. It’s to get help from code.

They are less likely to pick up new technologies or frameworks. They just want something that works and helps them in their job. They are more likely to pick something like Ruby on Rails. Or better, no-code tools.

I’m Ahmed, a software engineer from Morocco talking about technology, and entrepreneurship. You can follow me on Twitter.

Do not miss my next post! Drop your email in the box below and get it straight to your inbox:

Leave a Reply

%d bloggers like this: