How does a week in a beachfront Florida condo with your significant other sound? Your airfare will be covered, as will lodging, and even a meal (and a beer) or two and you may also get some spending money. Not too shabby, right?
How about if I also told you that you’d be spending each day of the week doing pair programming and being evaluated on your technical skills? Still sound like a vacation or more like a long job interview? If you’re a developer looking for a job with Hashrocket, a small design and development shop in Jacksonville, Florida, it’s the latter, part of the process you’ll be required to go through to get hired.
The company, incorporated in early 2008, requires all developer candidates - actually, all job candidates, regardless of role (more on that later) - to go through a week-long on-site audition before an offer is extended.
“It is a grueling process,” said Marian Phelan, Hashrocket CEO.
Hashrocket’s 16 Ruby on Rails developers pair program every day; often teaming a senior developer with a more junior one and rotating pairs regularly, as a way to share knowledge and remain flexible. Before hiring a new developer, they want to know that a candidate is both technically proficient and a good personality fit for the 28 person company. Hence the requirement that candidates come to their offices and audition for a week.
“We’re a small company; we all work together in a big room. It allows us to make sure we don’t mind spending eight hours a day with this person. We can’t afford to have anybody in the office that’s not going to pull their weight,” said Paul Elliott, a Hashrocket developer. Elliott himself went through the process before he was hired and called it, “one of the most mentally exhausting things I’ve ever had to do.“
Here’s how it works: developer applicants that pass initial muster (tip: your GitHub profile is more important than your resume) are invited to speak via Skype videochat with a handful of Hashrocket employees. It’s a brief, generally non-technical chat which, if it goes well, will earn the candidate an invitation to come to Hashrocket’s beachfront offices to audition for one week. Roughly 20% of candidates interviewed via Skype are invited to audition.
Many candidates come from out of the area, in which case Hashrocket will pay for their travel expense and put the candidate up in a company condo (also on the beach). The candidate may also get paid a small amount for his or her time; local candidates that don’t have to be flown in are more likely to get paid. Significant others are welcome to come along (though don't have to pair program).
Each day during the week the candidate will pair with a different Hashrocket developer on a real project. Elliott feels that this method helps to really vet developers and weed out the ones that can’t hack it. “When you come in and you start pairing with me, I’m going to make you drive, I’m going to make you code in front of me and I’m going to ask you a whole lot of questions. You can’t make it up if you don’t know what you’re doing,” he said.
Hashrocket staffers will often spend time during off hours with candidates (including at the company’s weekly Happy Hour) to see if they fit in with the culture. At the end of the week, the entire Hashrocket staff gets together and offers their input on the candidate. If everyone agrees that he or she is a good fit then an offer is extended. It’s a high bar to clear; less than half of the candidates that audition get extended offers. “Everybody needs to weigh in and have a positive feeling about the person being hired,” CEO Phelan said.
And it’s not just developer candidates that go through a week-long audition. Everybody who works there, including designers and project managers, must go through it before being hired. As Chris Cardello, a Hashrocket project manager (who also auditioned, though he didn’t have pair program) said, “It works so well in vetting our developers, there’s no reason why it wouldn’t apply to any other role in the company.”
Some candidates don't make it through the week; if it's clearly not a fit, Hashrocket will let the candidate know as early as possible. "We’ll tell them right away, once we come to that decision. If they want to go home they can go home, or they can stay and cowork, or hang out at the beach," says Elliott.
A small number of candidates decline to audition and, naturally, getting a week off of one’s current job to travel and audition can also be an issue. But those who decline to audition probably wouldn’t have been a good fit anyways. “If someone is going to go through this, they want to work for Hashrocket,” said Elliott.
It’s a process that requires a lot of time and commitment on both the candidate’s and the company’s parts, but one which Phelan feels is well worth it. “It’s very important to get someone who’s going to be a good pair and work well in the team. We’d never even consider hiring someone without going through this process.”
Do you know of other companies that require such an intense audition? Have you been through such a process? Do you enjoy long walks on the beach? If so, share your experience in the comments below.