views:

274

answers:

3

I'm a Ruby on Rails newbie. I'm learning Rails in my spare time (my day job is C++ developer) and I like it. I would like to be paid to do Rails development full-time instead of C++.

How can I find a job in Rails when most job offering requires 2-5 years of Rails experience? What is the most effective strategy to get some credibility as a Rails Developer?

Thanks in advance for your answers.

+1  A: 

Contribute to open-source Ruby-on-Rails projects. You'll find lots of them on Github.

ghoppe
+4  A: 

The best thing that you can do is have a live web application that is being used and is providing a useful service. Bring your laptop with the source code along on interviews and walk through it, demonstrating your mastery of and passion for the technology.

Adam Crossland
I like the interview walk through suggestion. Thanks.
esavard
@esavard: best of luck and welcome to the world of Rails. It brought me back to web programming after I decided that ASP.NET was an unrewarding experience. I hope that you'll become as ppassionate about it as I have.
Adam Crossland
+5  A: 

I can't tell you how to get hired. I can give you the story of how I got hired, though. It may be helpful. Rather than putting the summary at the bottom, it's quite the long post:

  • Have a pet project
  • Learn all the time
  • TATFT: Test all the fucking time
  • Attend the local user groups
  • Share all the cool shiny things you come across
  • Contribute back to open source
  • Be active, helpful and constantly visible in the community

I got started with Ruby on Rails in September of 2006. My first project was not a blogging system like was cool at the time, but a forum system. I remember one of my first questions in the #rubyonrails channel was asking why I was getting an undefined method find on Thread, not knowing Thread was already a class.

In June 2007, I was hired at my first Rails job. I didn't know much then, perhaps a smidgeon more now. So as you can see, the process wasn't instant. Very few processes are.

What happened during this interval though was (aside from PHP contracting, being a checkout bitch and studying) that I continued asking questions in the #rubyonrails channel and refining the forum system until I got something I was happy with. In April 2007 the first official user group meeting of my home town begun and I attended that, mentioned I was doing PHP work whilst toying around with Ruby and was offered three business cards on the spot. I basically did cards.rand and picked a job that landed me an 8-month contract which I enjoyed.

I learned a huge amount during this job, as you should with any job. I applied what I learned to my forums, refining it using the techniques I was learning on the job. I've been refining it further and further since then and in its current incarnation it's probably my Open Source Magnum Opus.

After I left that job I was quickly picked up at another company where, again, I learned new things and applied what I had learned to my open source work. One of the greatest things to learn was automated testing. If you're not writing tests, you're at a huge disadvantage to those who are. I know of many prospective employers who are looking for people who can write good tests for their code.

Now that Github's about, I have a nice central location to share all my work where prospective employers can look. The only feature I crave from Github would be a list of all the projects I've ever contributed to, since this is what lures most employers. So far the "Big Three" in my mind would be: RSpec (better Hash diffing + other changes), Cucumber (That list of failing scenarios when Things Go Wrong(tm)) and Rails (documentation such as the Querying Guide and the in-progress Initialization Guide as well as bug fixes).

It also doesn't hurt to keep a blog of the technical (and not so technical) things you come across. If you provide useful information, you'll get noticed for that too. I got noticed enough that I was recruited to write a book.

I also attended the second Railscamp event in November 2007 where I met one of my future bosses and made a lot of "connections" with people in the Ruby community. I then went on to run a Railscamp in Adelaide (#4), and assisted with the ones following that in varying degrees.

I'm also very active in the community, helping out on of course here and the IRC channels on Freenode. Helping out is definitely one of the ways I've learned how to be a better Rails coder. You can witness other people making mistakes and suggest fixes, and also watch other people suggest fixes that you may not have thought of.

Currently, I'm teaching people Ruby on Rails and when there's nobody to teach I do development work. That's my day job. The night job is writing the book. I would advise you to only have one job, because over-work can lead to burn outs. That's what weekends are for, or so I'm told.

Ryan Bigg
Thanks Ryan for your answer. Very inspiring. I'm already an Open Source contributor, I must focus more on Rails projects now... and use my week-ends for that! ;)
esavard