I think we should distinguish "whiteboard problems" and "whiteboard coding", while the latter is terrible, the former seems legitimate to me.<p>I do it with candidates and I have no problem going through it as a candidate. It is fine when you whiteboard system architecture to solve a "real world" problem. Usually I just use the most recent project/feature I worked on and lay it out as a little scenario: "The product owner would like us to add this feature to the product, how can we do that?" Of course, if it's something really complex that took me 3 days to solve I wouldn't expect the candidate to solve it in 30 minutes.<p>Back to "whiteboard coding" I personally go with option 2. When scheduling the interview I try to find out what's gonna happen and if they mention whiteboard I explain that I'm not interested. If once on-site an interviewer asks me to do it I just decline and interrompt the session right there. Most of the time they try to back off and say "ok it's fine, we don't have to do it" but I just remain firm and explain "if this is how you've interviewed and hired the rest of the team, I'm not interested".<p>Something I've done once too: after being asked some stupid algorithm to do at the whiteboard, the interviewer asked "do you have any question for me?" "why, sure, let's say I give you a file with 1 billion integers and you have to... can you write the algo for that?" the guy was literally staring at me for 10 seconds. My reasoning "I'm trying to assess if I can work with your team, I need to know if you guys are good. And since balancing binary trees seems to be the core of the work I want to make sure you know what you are doing." It was hilarious. He didn't do it though.<p>My other favorite: stupid brain teasers. Again, my policy is to refuse to answer and just put an end to the interview. Sometimes though I play stupid: "How many soccer balls can you fit in the Empire State Building?" "well, what's the brand of the balls? can I open the windows? Can I empty all the offices? Am I allowed to tear down walls? etc" Sometimes it can go on for 15 minutes like that with me asking stupid questions, and they just run with it.<p>Anyway, my point is: with such a hot market, the only way to end this stupidity is to refuse to put up with it.
I wonder if the problem isn't so much that we're still asking people to code on the whiteboard as it is that we're simply asking people to code things on the whiteboard which are too complicated. I remember a few years ago when FizzBuzz was all the rage, and a lot of people believed it was a useful question to ask, since it filtered out people who apparently couldn't code at all.<p>Of course FizzBuzz can't discriminate the merely competent from the truly brilliant, but there's probably no 45 minute whiteboard exercise which can, and I think there's wide agreement that should not be the purpose of whiteboarding exercises, anyway.
This is a reaction to my friend's article on his recent frustrations with getting hired, which is discussed here: <a href="https://medium.com/@evnowandforever/f-you-i-quit-hiring-is-broken-bb8f3a48d324#.yankhfx9h" rel="nofollow">https://medium.com/@evnowandforever/f-you-i-quit-hiring-is-b...</a>
Even when you do well on the tests they still might not move forward. They won't tell you why. They just say "we're not moving forward" and stop communicating. Guess who I'm never responding to the next time your stupid recruiters spam me.