Coding is hard. Most would agree and - if not - then either you know something I don't (likely) or you don't know what you're doing (also, likely). With that said, coding while a potential future employer is scowling over your shoulder and murmuring inaudibly makes the process incalcuably harder. So, allow me to tell you why we all should join the chorus calling for the death of the modern technical interrogation.
1. It's not a good indicator of technical ability.
Ok, if the position happens to be one for which disarming a nuclear bomb is a possibility, disregard this argument. Otherwise, in what possible high-pressure situation will you ever be expected to solve an obscure data structures problem on a whiteboard. With no syntax checking or debugger. In front of three scrutinizing neck-beards. Answer: Never.
Now the logical followup question to this bold claim is: If the technical interview is a poor indicator of technical prowess, what's a good one? How do we separate the Michael Jordan's of programming from the...bad basketball player equivalent? To this, I say there are two alternate ways to accurately and easily gauge a programmers ability.
- Github profile: How many repo's do they have? How active are they? Do they contribute to open source projects? And then, of course, the obvious code quality questions.
- Programming project. Having an applicant complete a small task in their own time and in their own lair yield's both a better reading of ability and results in a much less stressful experience. This definitely does NOT mean a project on collabedit or an equivalent collaborative editor where someone is just virtually giving code the stink eye rather than in person.
2. It's unpleasant for all involved.
3. Questions are hard to craft? Questions are hard to craft.
It's far too easy to underthink technical interview questions. They must - in fact - be tailored to the individual being interviewed. That is to say it's irresponsible to ask a 10+ years of experience professional what the difference between a method and a function is while the same question is perfectly appropriate for a recent grad. This makes the process of creating a suite of interview questions exhausting, error prone, and just a huge time-suck.
Now us Python developers, Ruby developers, Java developers, PHP developers, and (God help you) Perl developers, let us put aside our meaningless and largely annoying quibbles to unite under a single banner. For once, let's say who cares whether Django or Rails is the superior framework and just join our voices to call for an end to the modern technical interview.