Summary: eighteen months ago I landed a great Rails job with no previous Ruby experience. Here are three tips to help you to do the same.
1. It’s all about your portfolio app
It’s important to build a Rails app that an interviewer can access and play with. The best way to prove you understand something is with working code. Even a simple Rails app demonstrates that you’ve grasped a whole host of technologies and concepts: databases, Ruby, Rails, ERB, HTML, CSS, deployment, and others. If you’re brand new to Ruby and Rails, I recommend the following path:
- Read this book; I think it’s the best out there. However, like most programming texts, you shouldn’t only read it. Instead, follow along and actually create the example application. Along the way, think of some simple exercises and do them. You will learn and retain vastly more this way.
- After you’ve read a good chunk of the book, choose your portfolio app. Pick something small, as even basic applications will provide plenty of challenge at this point.
- Once your new app is working, use it as your experimenting ground. Try out a bunch of plugins and gems. Switch from Test::Unit to RSpec. Try out a fixture replacement like factory_girl. Tinker with a variety of code.
- Now, grab a couple of job descriptions for Rails gigs that you might want. Each should have a list of technologies they use. Go down these lists and note which topics are both popular and unfamiliar to you. This list will include things like jQuery, TDD, and git. Spend some time implementing/adding these to your app. You don’t need deep mastery of these topics, just familiarity. Your goal should be the ability to have an exchange like this — Interviewer: we have a whole bunch of jQuery, have you used it much? You: well, not a lot, but I did implement drag and drop and a few visual effects in my FooBar application. You’re trying to convince the interviewer that you’re capable of teaching yourself new things. If you can do this, they’ll think you’ll be fine with their guidance.
2. Get thee to github
If there were an official tool for sharing Ruby code, Github would be it. You should absolutely have an account there and should aggressively publish code you write. At the very least, the code for your portfolio app should live there (in a public repo). You should also ‘watch’ a few repostories and ‘follow’ a few programmers that interest you. Reading commits made by others will expose you to common Ruby idioms and style.
3. Start attending a Ruby meetup
This is the best way to hear about opportunities. They’re guaranteed to be local, and you’ll know your future coworkers attend Ruby meetings, which is a great sign. Not only will you hear about more jobs this way, but when you do apply, your resume will be coming through an employee that has already met you. This is the best way for your resume to reach a company.
Beyond hearing about open jobs, Ruby groups are a great way to find a mentor. Most people are quite willing to help new Rubyists with their questions, and getting your code reviewed by an experienced programmer will quickly improve your chops. To start, simply ask someone to point out the worst parts of your code, and outline how they’d fix them.
Questions I’ll Pretend Are Frequently Asked:
Is the Rails market really that hungry for talent?
Absolutely. At my last Boston.rb meeting I heard of 4+ open gigs. The position I hold now had been open for months before they decided to take a junior guy and train him. Everybody seems to be hiring.
Is it worth trying to break into the Rails?
Definitely!
Ruby is a wonderful thing to work with every day. I love my language.
You’ll also be joining a wonderful community.
So will these tips work for me?
Maybe. They did for me! I managed to land a Rails job that I love after only a few months’ hard work. You gotta put the work in, but if you focus it in the areas above you should get a great return on that investment.
As an anecdote, I recommended the steps above to a close friend. After a few months of hard work, he landed the first Rails job he interviewed for. He’s now working for a great startup in Harvard Square and loving it.
How can I increase my chances even further?
Well, if you like, you can hire me to coach you. Here’s what we’ll do:
1. Two one-hour coaching sessions. (All sessions take place on Skype or phone). We’ll chat and find out where you are technically and how you well you’re marketing yourself (what do I see when I google you?) If you need to brush up on your Rails knowledge, I’ll point you to great resources to ensure your fundamentals are solid. If you’re lacking a public presence, I’ll help you with that too.
2. Two one-hour code reviews. I’ll review any Ruby code you like and we’ll discuss over the phone. We’ll make sure your portfolio app uses the framework correctly and contains good, Rubyish code. Most importantly, I’ll make sure you really understand all the changes I suggest so that the code stays “yours.”
3. A one-hour resume review. It’s a tricky thing to write a good resume when you lack relevant experience. You’ve got to emphasize things you’ve done while gracefully acknowledging areas you’re still improving. I’ve got some great tricks for this, and we’ll edit your resume together. When we’re done, we should have something that will make people pick up the phone and call you.
4. A one-hour mock interview. Finally, I’ll run you through a standard phone screen for a Rails position. After, I’ll give you the honest feedback that you’d never hear from a real hiring manager who’s afraid of litigation. We’ll talk about any red flags or questions you botched, and how to handle them better in the future.
If you’re willing to put in the work, the end result should be an offer letter (or two, or three!) for your first Rails job.
Why should I hire you?
I love teaching! (And I’m good at it). I’ve sold hundreds of Rails-related screencasts, given a training class with thoughtbot, and had the sixth-highest-rated RailConf talk this year.
How much?
You’ll see the sessions above total up to 6 hours. Now my normal hourly rate is $150, which gives a price of $900 for everything. However, I’m going to be offering a discount from my normal rate because, frankly, I think this is going to be a lot of fun: I LOVE helping bring new Rubyists into the fold, and I really get a thrill out of teaching. As such, the program will cost you only $599. A small amount when you consider how much impact a new job can have on your happiness.
Now $599 is a pretty steep discount off my normal rate, but it’s still a decent chunk of change. I don’t want cost to be prohibitive, so let’s do this: you can start the program for just $199. I’ll trust you to pay the remainder when you can, and not until you’ve seen that our relationship and program are worth it to you. If at any point you don’t feel like you’re getting good value, I’ll refund your $199 with my apologies and absolutely zero hassle.
Let me tell you, working with Ruby and Rails is a TON of fun. The technology is first-rate, and the community is second-to-none. It’s really a blast to be a Rails programmer. If you’re stuck in some lame programming backwater, or are having trouble landing a programming job at all, this could be a great investment in your career.
Now this program will be time-intensive, so I’m going to limit the number of mentees I’ll take on. One slot has sold already, leaving only 3 at the reduced price, so sign up soon!