Olly Headey

August 14, 2023

Ruby on Rails as a career choice in 2023

“Gasping but somehow still alive”

— The Smiths, Well I Wonder

Occasionally someone gets in touch with me asking for work advice. I had one recently where the questioner was rather taken with Rails but asked, “Do you think Ruby on Rails lacks enough jobs? I’m concerned about the future.” It’s a good question, and while my gut reaction was “of course, Rails is awesome!” I was actually conflicted trying to give out objective career advice. 

Few would argue that Rails marked a paradigm shift for web development, but I’d agree that it had its heyday commercially around a decade ago. For several years I’ve watched as people call out the demise of Rails in the face of exponential growth in JavaScript tech – namely React.js, TypeScript and Node. It still feels to me (🚨confirmation bias alert) like there’s a mini Rails renaissance coming, but I’m struggling to find any compelling evidence other than the existence of the Rails Foundation and Rails World. There is certainly a solid set of established tech companies with Rails at the core of their business (off the top of my head Shopify, GitHub, 37signals, AirBnb, FreeAgent, Intercom, Doximity, Procore, Cookpad, Zendesk), but from my experience in the angel investment world over the last few years I’d say there are very few startups adopting it in 2023 (if you know of any, let me know!).

In the most recent Stack Overflow survey Ruby scores marginally higher than assembly language (!!) while prom queen JavaScript sits at the top of the popularity pile.

2023-programming-languages.jpg


Things aren’t much better in the Web Frameworks and Technologies list where Rails sits at the bottom of the class alongside NestJS (a Node framework) and Svelte (a front-end JS framework). Node and React top this list, holding over 80% of the vote between them. You’d think the game was up. HackerRank kind of thinks it is.

frameworks.jpeg

These same surveys cite that Rails jobs tend to be some of the best paid, often more than JavaScript jobs. This is certainly encouraging, but it could just be because there’s a whole lot of legacy Rails code out there that needs maintaining and ageing Rails devs are milking the situation while they still can.

One of the most overlooked things about both Ruby and Rails is that they’re optimised for developer happiness. Having programmed extensively in C++ and Java in my younger years, moving to Ruby in 2007 was a total delight. I’ve never not liked working with Ruby and I feel the same about Rails. Once upon a time I wrote web apps in Java, first using J2EE (😱), then Struts, and finally Spring. The latter two were not terrible, but they induced none of the absolute joy I still get when writing Rails code. But this is me. When I talk to developers who started out with React and Node, they absolutely love it! I struggle a bit to understand why, but that’s because I’ve only played with them superficially and I’ve never built anything of substance with them. There’s an inherent joy in just building something, and maybe that’s enough regardless of the kick you get using particular tools. The proof is in the pudding.

Despite being a Rails advocate for over 16 years and having served on the board of the Rails Foundation for 6 months, I’ll admit that statistically speaking you shouldn’t start your career by focusing on Rails. Most jobs don’t want Rails experience, so you’re probably doing yourself a disservice. Despite this, there are Rails jobs out there and by deciding to learn Rails you’ll get one of the quickest, simplest and most enjoyable groundings in how web apps work. This knowledge of the web is fundamental, regardless of which language or framework you’re using, so it’s going to be time well spent – the more you understand the basics, the easier it becomes to flip between languages and frameworks. 

This was essentially the advice I gave the questioner. Do what you love. If you love Rails as much as you say, give it a go. It will give you an excellent grounding, and the code principles are the same. If you find that jobs are hard to come by, make the switch to something else at that point. 

As it turned out, he decided to stick with his current job using Java/Spring with React on the front end. He said that while he loved Rails more, he felt Java was a better choice for ongoing employment in the future. Makes sense, but for a Rails die hard I couldn’t help but feel disappointed. 

Without question the Rails Foundation has a steep climb ahead of it, but momentum is definitely building and I’m hopeful the renaissance I can feel in my bones is for real.

See you at Rails World in October! ✌️😊

rails.jpg


About Olly Headey

Journal of Olly Headey. Co-founder of FreeAgent. 37signals alumni. Photographer.
More at headey.net.