Taking programmers for a test drive

37signals is one company that eschews the traditional interview quiz for programmers in favor of a job tryout

If you’ve ever worked as a programmer, chances are probably about 100% that at some point during a job interview you were asked to solve a problem on a whiteboard, or on a piece of paper. The on-the-spot programming quiz is a pretty common way to weed out candidates. I did it a bunch of times, muddled through some, bombed some others, and always hated it. 

test_drive-600x450_0.jpgImage credit: flickr/landrovermena
Do you take prospective programmers for a test drive?

I was reminded of my experiences recently when I came upon a blog post from last year by David Heinemeier Hansson, the creator of Ruby on Rails and a partner at 37signals (creators of BaseCamp), in which he blasts the use of such “parlor tricks” as a way to determine the ability and fit of a candidate. A much better way to evaluate a prospective employee, he writes, is to take him or her for a test drive. That is, to actually work with the person on a real project as part of the hiring process, which is what they do at 37signals.

Last year I wrote about a development shop in Florida that put candidates through an intense week-long on-site pair programming audition. I was intrigued when I heard that 37signals also requires a tryout process for their developers, so I asked Hansson if he would tell me more about their test drive process.

37signals is a small company (36 people, 9 programmers), all of whom work remotely. The idea of test driving an employee actually started with the designers that 37signals first hired a little more than a decade ago and has since been applied to prospective programmers and even customer support people. Candidates are asked to try out as the last step in the hiring process, after they’ve been interviewed and deemed to be a good fit. “The test drive is the pre-hire hire,” Hansson said.

Programmer candidates are given a small (and real) project to work on, usually lasting for a month. Since everyone works remotely, the tryout is also done remotely (so, no travel required). Candidates are also compensated with a month’s salary during the trial period.

So far, 37signals has only put a small number of programmer candidates through a tryout, since most of the developers they initially hired had worked with Hansson on the development of Ruby on Rails. Also, given the small size of the company, their rate of developer hires is low (one per year). However, most of the programmers that have gone through the trial process have passed and gotten hired. 

Hansson says that they plan to expand the use of a job tryout to candidates in all types of positions. “The intent is to use this approach with all new speculative roles as well, like if we hire someone to do, say, analytics. 30 days on some real project to see if there's a fit,” he said.

Never during all of the times I was interviewed for programmer position was I asked to do such a tryout. Had been I asked to do so, I think I would have appreciated it much more than the take-this-dry-erase-marker-and-show-us-how-you-would-do-this test. Being evaluated based on my ability to work on a real-life project would’ve felt like much more of a fair way to go about it.

What’s your feeling on a job tryout versus a white board test during an interview? Have you ever been asked to do a tryout? Share your experiences and thoughts in the comments.

Read more of Phil Johnson's #Tech blog and follow the latest IT news at ITworld. Follow Phil on Twitter at @itwphiljohnson. For the latest IT news, analysis and how-tos, follow ITworld on Twitter and Facebook.

ITWorld DealPost: The best in tech deals and discounts.
Shop Tech Products at Amazon