One of the things that seems to be taking a lot of flak lately in the tech industry is the concept of a whiteboard interview. The interviewer asks the interviewee some sort of coding question, and asks him/her to write a solution on a whiteboard, as opposed to writing out the solution on the computer. The idea behind this is to see the candidate’s train of thought, and see how they approach a problem that they would potentially be unfamiliar with. In the real world, no one writes code on a whiteboard, and no reasonable employer is going to deny an employee internet access to search for solutions.
(The only situation where I can see someone being disallowed internet access is when working on classified materials, which is by far, the minority of the real jobs out there).
So rightfully so, the classic “whiteboard interview” is getting a bit of a bad rap. But I still haven’t seen many alternatives proposed. Some of the ones I have heard of:
- Give the person a laptop and have him/her code on it.
- Online sites that allow a candidate to code in a browser (handy for remote interviews).
- Look at the person’s public git repositories for examples of code they have done.
- Not asking coding questions.
As far as each of these go, there are pros/cons. For example, if a person only has done private work, they’d have no public examples of their code that they could show. Not asking coding questions doesn’t help filter out the candidates that can’t actually code. Out of the above options, the least unfriendly seem to be actually giving the candidate some sort of IDE and letting them actually code something, but even this isn’t failure proof. I know I don’t code as well on an unfamiliar keyboard layout, and I’d potentially be slower if I were working in an unfamiliar IDE.
Either way, I still think as an industry, we’ve got a lot of room to improve here. But how do we do it? In that regard, the tech industry is a bit different. I’ve never heard of a doctor being asked to perform a “practice” surgery on someone before getting a job at a different hospital. But a doctor also goes through a lot more rigorous process to becoming a doctor. Almost anyone can pick up a compiler and learn to code.
I’m curious to know what you other folks have encountered during tech interviews (or even interviews in other industries).