Embrace the shame; or how to get hired leveraging the hate towards Ruby (and Rails).
If you have been following any popular developer creator on social media in the past few years. It would probably be safe to assume that you already know, the only way someone can possibly get hired in this industry is by picking up React with Typescript (obviously). Or if you are particularly ambitious with your career goals, maybe even try learning one of the only other defensible language options available on the internet today - Rust or Go respectively...
From time to time however, you may hear some mutterings of ancient technologies, technologies created in a long-gone era. Long before Jordan Walke (read Facebook) single-handedly saved the earth’s population from extinction - with the 2013 release of React, and it’s subsequent assimilation of the human developer sub-species into the collective. Forever locking in humanities only path forward towards gainful employment in the industry.
However any mention of these ancient technologies nowadays is quickly laughed down with great prejudice - much to the pleasure of the general masses.
February 2019: React 16.8 is released to the public, introducing ‘React Hooks’
But just for a moment lets entertain the idea of an alternative job seeking path using these technologies, a dirtier path perhaps... maybe even a path where we strip away our own moral standings about software development... but lets try to look from the perspective of someone who is just starting out with web development in 2024 – and has the sole primary goal of landing a job outside of anything else.
Now before we begin, we have to accept some realities that there is a good reason for the general public sentiment towards the Ruby ecosystem.
“The rails runtime is slow”
“Ruby documentation sucks”
“ActiveRecord links your app too closely to database logic”
“DHH is a lizard person only lobbying for big-mono”
Ok that’s all probably fair... and I’m sure there aren’t many Ruby developers out there that would argue against the usual anti-ruby talking points. To do so I think would be in bad faith - if we are honestly comparing newer technologies from an objective performance perspective. The Ruby haters out there are usually correct (mostly).
Now, why none of these issues actually matter for you.
Great news, as a new dev your ability to get hired in the workforce has nothing to do with the performance, or public opinion of any frameworks or languages. What does matter is the fact that a bazillion organizations out there both large and small, still use and will continue to use this ancient technology for new projects well into the long foreseeable future. A quick job search will still yield multiple new ruby focused, or ruby adjacent job openings regularly in 2024!
Doing a quick Google search will pull up tons of giant companies that everyone is familiar with. Who are all still using Ruby, Rails, or even both in some capacity. Some of the most notable modern sites still using it today in one way or another are AirBnB, Github, Zendesk, Kickstarter, Shopify. Even X and Netflix still admittedly have Ruby living somewhere deep in the bowels of their back-end systems!
2023: Clearly love is in the air for Ruby... ThePrimeagen
Despite the humor we can surely accept the fact that there are hundreds of companies out there actively using Ruby and Rails in their production environments right this moment – both in the public/government and private sectors, and they all need good developers. The reality is that Rails is here to stay.
Ruby and Rails are both unpopular but that can be a positive for you.
In the 2023 Stack overflow survey on Framework popularity - Rails ranked pretty far down the list coming in at a whopping #18. Only getting 5.49% of votes from over 70k respondents. The fact that Angular of all things is somehow a full 2 spots higher up on the list for popularity gives you a good idea of how the public feels about Rails in general I think.
Ruby itself also only came in at #16 in the survey section specifically for Programming, scripting, and markup languages, with only 6.23% out of over 87k responses. Ouch?
Luckily for you, this translates to a much smaller amount of brand new devs out there who have exposure to Ruby or Rails in any kind of capacity! Hopefully by you getting some minor Rails experience, it might help you stand out in the literal sea of junior React dev resumes - flowing steadily into any full-stack developer job opening at the moment you will be competing against.
Ruby and Rails are actually pretty great to work with.
This is a definite matter of personal preference here - but there is something about writing Ruby code that just feels good with the freedom you get compared to similar languages.
Some of the great language quirks like dropping an if statement at the very end of a line to make a clean 1-liner block is just great for some intangible reason. The totally optional parenthesis in most cases I mean... what more do you really want from your syntax!
Also, despite its flaws no one would argue that Rails hasn’t clearly proven itself for years now as an incredibly reliable framework that is more than capable of scaling far beyond the point most normal businesses will ever reach with their apps user base. Many of the popular mega sites you hear have transitioned off rails in recent years (such as twitter) only did so after they already had millions of users and millions of dollars (not so hard with hundreds of devs on your payroll eh?).
So then as many have pointed out before - why are we choosing technologies and frameworks like we are all some Facebook or Netflix level of company? Maybe we don’t all need to scale from 0 to infinity on day one and lets just see if anyone actually signs up to the service - that later merits some bonkers multi-million request per second setup in a few years?
At the end of the day a boring old reliable rails monolith is going to take you where you need to go - at any size of company. And its going to take you there fast enough.
So where to start on this shameful path as a new developer?
January 2024: "An aspiring new developer prepares to share publicly the fact that they are learning Ruby on Rails in 2024"
Well the same way you would if you were learning React, or NodeJS, or any other of the plethora of frameworks or languages out there. You need to start building something with the technology. There isn’t any secret sauce here that will get you there any faster than that.
The type of project you pick doesn’t really matter at the end of the day, you will find hundreds of tutorials on Google that can at least get you started with something bare bones. Like a simple blog or marketplace page would be perfect.
There are a few specific things you should look at including with the project that will hopefully hit a lot of the key areas people are looking for on many full-stack job postings.
I know – this sort of goes against the whole argument of Rails being a one-stop solution for any application right. But in reality, what you will find out in the wild are a lot of mixed hybrid setup environments. That are maybe using Ruby/Rails somewhere in the back-end, but all front-end parts of the application are created with something else entirely. So we cant forget about our little friend JS yet.
There are too many frameworks out there to line up your own stack with all the job postings you will be applying for – so big emphasis on your fundamental skills, and really understanding how the front-end and back-end interoperate there.
Integrate some raw SQL inside of your application.
ActiveRecord is great. But you also want to be able to tell potential employers that you can write raw SQL statements confidently. So instead of relying on the built-in Rails mechanisms to retrieve data in your controllers, practice using SQL operations here to get the data what you need to return.
If you are following a standard Rails tutorial you more than likely already have a SQL based database. So this step can be a great way to help conceptually learn and understand some of the existing data relationships going on under the hood and demonstrate your SQL-fu for employers.
Properly deploy the whole thing to the cloud somewhere.
When you have a semi-functional test app built, take some time to learn about/deploy your code to one of the major cloud service providers. There are lots of simple hosting options on AWS, Azure, GCP etc that all offer some kind of free-tier where you can host the thing for nothing, or for pennys in most cases.
You will want to setup a real functioning CI/CD mechanism that lets you update the code after its been deployed (Github Actions, CodePipeline, Azure Devops etc all fine). You will also want to do some kind of infrastructure as code definition for your deployment (Terraform, Cloudformation, ARM etc all fine). Ideally this will let you show off to employers more of those key skills they are looking for while evaluating large stacks of full-stack resumes.
There are also countless free learning materials on Youtube for whatever cloud service ends up peaking your interest. If you further choose to pursue an industry certification from one of these providers - this can also be an easy boost especially when initially building up your resume (before you have any real experience to list).
Ruby on Rails is unpopular for a lot of reasons (some fair and some not). But the overall ratio of Ruby adjacent jobs right now compared to the competing applicants with relevant experience - is going to be favorable for a junior developer to target who is just starting out in 2024.
Photo of a junior Ruby Developer in 2024. Notably hired.
You could probably swap out Ruby in this article with PHP and the arguments mostly remain true. But somehow PHP and Wordpress are still more popular than Rails in 2024!?