Are Whiteboard Interviews the Best Way to Measure Devs?

2 points by jdmg94 ↗ HN
Its common in our industry to get to tech interviews and expect to do white boarding exercises about binary tree and matrix operations. And while these can prove your academic proficiency, these are rarely the day to day skills that make a developer competent. I was told by a hiring manager once that their reasoning behind this is that "if you know the CS fundamentals it would be easier to collaborate across teams". To me this doesn't really translate into real life. I just wanted to rant about my dissatisfaction with white boarding interviews, but I also wanted to know what is the general sentiment at HN

3 comments

[ 3.8 ms ] story [ 15.5 ms ] thread
Everyone says it sucks but it's the best we have as a proxy for competence

There's a lot of false negatives but as long as there's thousands of new applicants, it doesn't matter

Whiteboard interviews don’t measure anything. Measuring would mean the company would have objective metrics derived from interviews. The process seems to be intended to filter out people who can’t write code at all (a surprisingly large number of people who call themselves programmers). I think the process mainly exists to give interviewing some veneer of objectivity or science, to head off discrimination lawsuits.

People make hiring decisions based on first impressions and their own biases, but they have to pretend they are following some more objective process.

A carefully chosen whiteboard question can elicit a lot of information about the candidate's ability. As you note, there's a lot more to a developer job than linked list manipulations or binary tree traverses. A carefully chosen question shouldn't require a flash of physical insight, and it should entail enough programming to let the candidate talk through a design, note test cases, name variables, and suggest data structures or language constructs that might fit the problem better or worse.

leetcode or "Daily Coding Problem" problems are usually worthless, in that they either require a weird, special-purpose algorithm (make a FIFO out of 2 linked lists), don't really require writing much code, have misleading or incomplete problem statements, or are very basic.