How To Go From Junior-Level to Mid-Level Ruby/Rails Developer
I’m currently a staff-level architect for a reasonably-sized company with a whole lot of moving parts. I got here by scraping Craigslist for job postings and writing PHP to do a mass-send of my resume. This was more than 10 years ago. It’s a lot harder to do that now.
My career — at least, as I know it now — started at making $16/hour. I thought I was killing it. I was writing a CRM and management interface to manage a contractor for a media company: basically, fixing your satellite dish. I was the sole developer, I had no idea what I was doing, and man was it fun. I used https://themeforest.net/item/gebo-admin-responsive-template/2440015 to build our dashboard and I thought it was the coolest thing.
I fast-tracked myself by putting in 80-hour weeks and building and running multiple side-projects at once — some with better success than others, and one with significant success. When people ask how I got to where I’m at, I tell them hard work and for some reason that seems mystifiying. There are no cheatcodes. Without those projects, I know I wouldn’t be where I’m at today with my career.
But in hindsight, had I not done gone that route, I would have wished I told this to myself:
The to-do list
Go through Rebuilding Rails
Noah gives a great lesson on how the underlying parts of Rails works. It really opens up your mind and helps you build mental models to what is happening under the hood. https://rebuilding-rails.com/
Read “Clean Code”
Fat objects be gone, and know where your footguns are. https://www.oreilly.com/library/view/clean-code-a/9780136083238/
Chapters 10-12 are most important, but the entire book is full of great takeaways.
Read Refactoring: What bad code probably like, and how to fix it
This is a must: https://martinfowler.com/books/refactoring.html. It’s not in Ruby but that doesn’t matter because you can parse what’s happening anyway. It’ll show you bad logic, explain why it’s bad, and show you a more testable version.
Read Pickaxe, any version
An ever-so-reliable book that goes through a bunch of Ruby stuff. Just reading it is fine, you don’t really need to understand it: https://pragprog.com/titles/ruby5/programming-ruby-3-2-5th-edition/
Read POODR or 99 Bottles
Both are good and very Ruby focused. Here’s Sandi’s POODR and 99 Bottles.
Browse the EAA Catalog
Can you tell I’m a big Martin Fowler fan? https://martinfowler.com/eaaCatalog/
Rails itself is built with many patterns from Patterns of Enterprise Application Architecture. Maybe this should be a bullet point too, but eh, it’s mostly unnecessary since you’re focusing on Ruby and not building architecture.
A peak under the hood of where everything happens with DHH
DHH has a series where he goes into parts of the Basecamp codebase. It’s kind of neat to see what the OG app looks like. His series is on YouTube.
Read other Rails codebases
I like browsing other codebases to see how they are solving their own problems. This is easy with OpenSourceRails.org. I often search by object pattern and look at what other people do. If I don’t copy it, at least I’m exposed to it.
Conclusion
This won’t immediately get you a title promotion. But what it will do is expose your brain to different mental models and your brain will be much more open to different ideas and different ways of thinking, particularly within Ruby and Rails codebases.