The only interview I came out of feeling that I did quite poorly, was one with a whiteboarding series of tests, albeit it was on paper rather than on a whiteboard. I felt that I had failed quite miserably in even presenting myself as a programmer, much less a competent one. Based on my references and my performance at my current job, I am more than competent as a programmer: creative, fast, a quick learner … everything a company should be looking for.
Why did the whiteboarding exercise fail for me? I don’t code by writing. I have no muscle memory with pen and paper. I code by trial and error. My knowledge base with various languages is broad enough that I do have to refer to Google for specific syntax. And I code by having a real world application problem to work through, rather than a vague, theoretical problem that I don’t understand because I have no context. Maybe CS graduates would excel at that, but I learned to program by building real applications with real functionality. I don’t care about theory. I care about results. And a whiteboard exercise does not allow me to show that I can produce those results.
If companies want to attract great talent, whiteboarding is not the answer. Yes, some great talent will do great with whiteboarding. But a lot of great talent will be completely passed over because it doesn’t work for them. It would make much more sense to give interviewees a small test project to work through, with a deadline, so they can focus on solving the problem rather than being put on the spot in an unnatural coding environment with sticks and stones. This is 2017. Programmers live and breathe and dream code … on computers.
Have you been on either side of a whiteboard test? What are your thoughts?