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?
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.