Ruby and Rails in 2019. Beyond Cool

Is it a smart move to be a Ruby developer in 2019?

The hunt for Cool

These days it’s not unusual to hear that Ruby and Ruby on Rails “are not cool anymore”. Is this true?

And, more importantly, should one use “coolness” as a factor when deciding whether to use Rails on your next project or to become a Ruby developer?

I’m sure that you already guess my answers to these questions. But let me elaborate a bit…

A little story

I started programming in Ruby in 2006, just after Ruby on Rails v1.0 was launched. That launch managed to make some noise in the world of web development (you have to give credit to DHH’s superb marketing) but one could hardly say that Ruby was cool, then.

At that moment I was starting Evadium, after 5 years away from development, working as a consultant. So, yes, my programming skills were a little rusty, and my perception of the development tools market was what you would expect from a consultant: lots of acronyms, feature matrices and SWOT diagrams, combined with zero actual lines of code written in recent years.

I still remember asking for the advice of my friend David Clavera, who was and is a brilliant web applications architect, and the big dismay I felt when he said “Easy!”, as he handed me a book about Struts that couldn’t be shorter than 500 pages! Up to that point, I had managed to avoid Java and XML in all their verbosity, so I wasn’t exactly excited to make a start. That day I silently decided I would use PHP. It was ugly but it got the job done.

It was in that compromising mood that I watched DHH’s video building a blog site with Ruby on Rails. Those 15 minutes felt like a breeze of fresh air!! Productive, no nonsense, beautiful… RoR had it all!

Well, it didn’t have it all. It was a 1.0 version and it showed. Plenty of rough edges (specially for deployment) and, what was worse for my consultant mind: not much of a proven track record.

Ruby on Rails was a wild bet. For all I knew, it could be dead within a couple of years. But boy, was it productive! I decided to take the risk and started writing code.

It turned up I was lucky. Ruby on Rails took the web development world by storm and, in a couple of years, it was king-of-cool.

Projects and products using RoR mushroomed everywhere. Books were published, blogs created, new Gems published, covering almost anything you might need.

And the development community fell in love with Rails, too: developers old and young jumped into the framework. Bootcamps and online schools turned into churches disseminating the Rails gospel. The coolest startups literally fought to get the best Ruby on Rails talent.

One could say we reached “Peak Rails” at around 2011, or version 3.x.

But the software development Hall of Fame is a hot spot, and the candidates for new-cool-kid-in-town were hard at work. JavaScript wanted to have its own framework in the client: Backbone, Ember and specially Angular and React started to move the spotlight to the browser. And thanks to Node.js, JavaScript started to carve its place in the server, too.

New languages gained traction, too, like Elixir, Go and TypeScript, promising higher performance and stronger type systems. Even old contenders, like Python, saw a renaissance thanks to the raise of data science and machine learning.

Nowadays (end of 2019), Ruby and Rails are hardly cool anymore.

How Cool is Cool?

Is that the end of the story? What does it mean to be cool in software development?

Cool is new. Cool is unexplored territory. Cool is new infrastructure.

Creating a new language is cool. Building a new framework is cool. Creating basic libraries and package managers is cool.

Building real world applications? That’s not so cool!

One could compare the search for cool to a Gold Rush.

Historical wisdom (and Jack London) teach that, in a Gold Rush, the only sure winners are the suppliers of mining equipment. Nobody knows for sure if there’s real gold, but, hey, all these miners will sure need picks and shovels!

So, yes, tool builders love gold rushes!

But, how cool is it for miners? During the Rush, tools are few and fragile, work is inefficient and productivity low, even for a rich mine. Most of miners’ efforts go into setting up the actual mine, not in getting the gold. And every time the tooling improves, they need to reinvest and retool, in order to stay competitive with other sites, detracting from actual gold production.

Likewise, in a software “Cool Rush” there’s plenty of value to be made building the new infrastructure, the new tools, the new marketplaces.

While this happens, early adopters are busy building their businesses. But new tools are immature and need constant upgrading. And these upgrades, as with the miners, detract from productivity.

Most mining sites in a Gold Rush fail. They don’t reach the minimum scale needed to create a healthy ecosystem around them, and collapse. When this happens, miners leave for a new Eldorado. And tool makers follow them.

Is this what happened to Ruby on Rails?

Too Busy for Cool!

Ruby and Ruby on Rails don’t look like failed mining sites. They stroke gold, Big Gold! (or rubies, if you like the pun).

They built enough following to create a huge ecosystem around them.

Ruby on Rails is not anymore a small mining settlement in the far territories. It is a big and mature industry producing tonnes of gold 24x7.

The tooling is mature, the productivity huge. What might seem a shortage of technical news and announcements is more a sign of a healthy environment where application builders are extracting maximum value with just modest efforts needed to keep the infrastructure in place.

It was not easy to get there, though. Those who lived through the big migrations of the first 4 versions of Rails know how much effort and rewriting it took to reach this level of maturity.

But it was worth it. Nowadays, businesses and developers using Ruby on Rails are so busy writing useful software that they hardly have time to think about cool!

So, yes, I do think that it makes all the sense in the world to use Ruby on Rails to start a project in 2020. Both as an entrepreneur and as a developer.

The productivity has never been better, and he market for Ruby developers is hot. Just add Ruby on Rails to your LinkedIn profile and wait for recruiters to start nagging you.

So, don’t be blinded by the cool factor.

And may 2020 bring you some joyful Ruby mining!