Even in today's economy, tech companies regularly complain that they can't find enough qualified candidates to fill software development positions. You might expect them to loosen their requirements and provide more training as a result, but actually the opposite seems to be true: Screening procedures are getting tighter. The latest trend is to subject interviewees to elaborate quizzes designed to assess their coding and problem-solving abilities.
The company best known for this is Google. Past applicants tell tales of a head-spinning battery of coding problems, riddles, and brain teasers, many of which seem only tangential to the task of software development. Other large companies have similar practices -- Facebook and Microsoft being two examples.
[ Speaking of quizzes, see if you can pass InfoWorld's programming IQ test, round 1, and programming IQ test, round 2. | Get software development news and insights from InfoWorld's Developer World newsletter. ]
Are these kinds of tests the right way to hire developers for your business? Maybe. You'll need to assess an applicant's skill in one way or another, but it's also possible to take the whole interview-testing concept too far. Here are a few thoughts to keep in mind when crafting your test questions, to avoid slamming the door on candidates unnecessarily.
1. Recognize that tests are artificial scenarios
When you administer a coding quiz or some other kind of test as part of the hiring process, you're putting candidates in a very strange position. You're usually asking them to solve some hypothetical problem based on sketchily defined requirements and parameters, and you're asking them to do so in an extremely limited period of time. They can't collaborate with anybody else, and they're not allowed access to any reference materials. Although this scenario is familiar to everybody from school, it's not one that crops up very often in the working world, which means it's not necessarily the best benchmark for how a candidate will perform on the job.
What's more, not everyone performs equally well at tests, and candidates are often under a lot of stress during job interviews in general. Don't assume you can gauge candidates' personality and working style based solely on their test performance.