The Dangers of Testing as Part of an Interview

It has always struck me as an odd practice to give a written test to an interviewee during the hiring process.  I’ve been on both sides of the hiring process.  I’ve had to take a few of these tests.  My general perception is that all a test shows is that the person taking it knows how to take a test.

I’m going to approach this topic from the hiring manager’s perspective since that is the only perspective that really matters.  I could go on about how it is unfair to me as a potential employee, but that wouldn’t convince those who need to be convinced.  So here are some points to consider when considering testing as part of the process:

  • Have you adequately tested the test?
    One would assume that the reason you are conducting the test in the first place is that you are under the assumption that this is the fastest, most reliable way to screen a candidate.  How do you know that is true?
  • Is the test clear?
    One huge potential problem is that the test you are giving may not actually be clear.  I’ve taken several tests, especially multiple choice tests, where several answers appear to be right–where one could make a solid argument that they are all right–but only one can be selected.  It becomes a case of “what was this person thinking when he wrote the test?”  The test taker is at a huge disadvantage if he’s never met the person who wrote the test.
  • Is the test fair?
    Related to the test being clear and adequately testing the test is the concern that the test may not even be fair.  The test may only test what the person writing it knows.  Do you really want another person in your organization that knows the same thing everyone else knows?  Obviously, they will all know a different amount of other stuff, but the core knowledge may be too restrictive and may actually harm your organization.
  • What is the purpose of the test?  Could it be done more efficiently some other way?
    If you are really looking for a person who can take a test, or you are looking for someone who can define a set of terms, maybe a test is the best way of determining that information.  If, on the other hand, you are looking for someone who can solve problems, how is a test going to prove to you that the applicant can do that?
  • What kind of employee are you really looking for?
    Are you looking for employees who can all answer the same set of questions the same way, or are you looking for employees who will be able to help each other grow?  Is your test going to help you get the employees you are looking for?

Maybe I’m missing something.  But I can normally tell a good programmer from one I’d never hire in about 10 minutes of technical conversation.  During that conversation I can ask the same questions I would ask on any test I might create but the person I’m interviewing can ask for clarification if it’s needed.

If he doesn’t, that also tells me something about the person I’m interviewing.

There was one time I was asked for a code sample.  Now, there’s a good test.  If you can’t get a good clean sample of code from an applicant, something that is easy to read, that gives you some idea what he was trying to do, then you’ll never get good clean code once you’ve hired him.

I’ve also been asked to solve small problems.  That’s something else I see as valuable.  That shows me how the person thinks.

Given the choice between someone who can define polymorphism, for example, but can’t use it, and someone who can actually implement it correctly, but can’t define it, I’ll take the guy who can implement it correctly.  If he can do both, all the better.

In my mind, tests are generally a lazy way to interview a prospect and tell you nothing valuable in the process.  Maybe there is a test out there that is useful, but I haven’t seen one yet.

Related Post

  • The Programmers’ RevoltThe Programmers’ Revolt Every once in a while, something happens in life that makes you say, “enough!” That happened a couple of weeks ago to me and a couple other programmers working on the same project that I’m w...
  • Automated Web Testing with the WebBrowserControlAutomated Web Testing with the WebBrowserControl Actually, I used this technique to automate submitting information to a set of web sites, but you could use this same technique to script any web site, including one you are currently developing...
  • Test Sending Email without a Server in ASP.NETTest Sending Email without a Server in ASP.NET By now, most people are familiar with the fact that ASP.NET will send mail from the codebehind by simply adding a few lines to your web.config file and adding another few lines of code in the code...
  • Test Driven SpecificationsTest Driven Specifications Several years ago, long before the community was actively talking about Test Driven Development, I worked for a short time at a company as a “bug fixer.”  That was my role.  They had hire...
  • Test Your Web Site Using Multiple Web BrowsersTest Your Web Site Using Multiple Web Browsers So, I routinely need to test the web sites I create in both IE7 and IE6.  I wouldn't care so much about IE6 if it weren't for the fact that some people will never be able to upgrade to IE7 without ...
  • Pingback: Dew Drop - November 25, 2008 | Alvin Ashcraft's Morning Dew

  • http://slodge.blogspot.com Stuart Lodge

    Interesting observation and opinion.

    Personally, I’ve never given written tests as part of the hiring process.

    However, one thing I’d like to try next time around is to actually try pair programming with the candidate – I think I’d learn quite a lot during that process – if I can find the right code to work on (maybe actually work on a real unit test?) then I think it would be fascinating.

    Admittedly it might not be very fair on the first few candidates who work through the problem though!