Entries Tagged 'hiring' ↓

How to get a rails job

I got another email about how to make the switch from Java to Ruby work. I’m lazy and I like recycling advice, hence this entry.

There will be no mention of how to write cover letters or resumes: that’s boring and already well known. What’s needed is an approach that will get you recommended for jobs or contracts. Networks are how most jobs are filled right? That’s what I want to optimize.

For the desperate employer’s perspective, see Tips For Hiring Ruby Developers and How not to apply for a job.

While employers are clearly having a really hard time hiring developers, some people can’t get jobs.

Having done the technical interviews for several candidates, I can say it is because most simply can’t write code. Thinking it would be easier to refactor code, we modified the interview format. Much to our amazement, candidates couldn’t propose simple refactorings or even identify code smells.

Since most unemployed developers are mediocre, if you’re looking for a job or contract, you’re immediately suspect. While this is sad and unfair, breaking out of that stereotype is easy: you need connections that can vouch for your talent.

Getting the connections is easy:

  • Search people through facebook, linkedin, workingwithrails, and note your interest in your own profile
  • Go to meetups and barcamps or organize one
  • Blog so you can be part of the local conversation
  • Family, friends, ex-colleagues, etc…

In my area, I know several colleagues that use github, which is now a de facto social network for hackers. After a friend received an important patch for one of his projects, he offered the contributor an interview. A good patch is the most efficient way to get someone to vouch for you.

If you can’t yet contribute to an existing project, scratch your itch and build a web application for something you care about. One caveat: unless you have a unique twist on it, avoid yet another lame todo list, issue tracking tool or ‘me-too’ app. That’s evidence of not only needing a job, but a life too. I’d much sooner see several small applications or trivially simple proofs of concept.

In any case, release your code. Afraid of how ugly it is? Comment the most offensive sections with a # TODO. Ask some of the people you’ve met if they would critique it. For a less intimidating foray into code reviews, use refactormycode.com. Read through past refactorings to get an idea of commonly accepted idioms (e.g. in Ruby), and post your own code to see it torn to shreds. I’ve often been pleasantly surprised by the solutions to my dilemmas.

Following this advice, you are in effect building a portfolio and professional network. It will vary depending on the technology and region: github and refactormycode may not exist in 10 years, and maybe barcamps, facebook and linkedin won’t be sexy anymore. However, the general approach of meeting your peers and engaging in the conversation will still work. More importantly, the investment you make today may still bear fruit in 10 years while the fussing you did on your resume will have been a time sink.