I'm still convinced that whiteboarding is the only way to get a glimpse into how a dev thinks and communicates which for the most part are the two most difficult aspects of the job.
I don't think it's whiteboarding that's the problem. It's whiteboarding obscure leetcode algorithms. I've been asked to whiteboard a system architecture before, which was IMO much more reasonable as it's the sort of thing I would have been doing on the job.
Agreed. And, I would like to add, the act of white boarding implies you standing in front of strangers trying to think on your feet. Some people are not as comfortable talking to an audience like that. Maybe a suggestion is for everyone to sit down and draw out the problem/solution on a piece of paper.
Or, how about a reverse white-boarding session? Let the interviewer draw your info on the board while you sit down. Sounds odd, but this allows you to (a) verbalize the problem/solution for someone else to understand and write it down, and (b) gives you the opportunity to see the bigger picture without getting too close to the board (forest, trees, etc).
When hiring, besides other things I asked for some test code. The test was to code a recursive ls from scratch but in a professional way. The candidate was put inside our team, had access to all our tools and the web and had 45 minutes to do the thing. We specifically told him that he can ask question whenever he wants. Admittedly, that test was not intended at PhD's in CompSci.
You'd be surprised at how many people fail that test.
Things we were looking at:
- is the code correct
- can the code be explained clearly
- does the code scale (memory / speed)
- is the code portable (Solaris was still at thing) ?
- how many external resources were used (copy pasting code from the web is a perfectly acceptable solution)
it's more like how far the guy goes. Admittedly, an auto test is quite above the average :-) I've never put someone aside because of that.
Production grade code is, in a big part, a matter of good habits. There's no reason those habits can't show up during a test. Especially when the test is very easy.
Is there a different way to say “see how I think”. You can’t see how I think. And even if you could, you’re only seeing how I think when you’re staring at me in a contrived setting while I exercise a skill I rarely practice.
It's absolutely "contrived" to write code in front of a group of strangers talking about whatever happens to be running through your mind at the moment in the 17.2 minutes that are left in the session before you break for water and a bathroom trip
Whiteboarding was great before the pandemic. Especially if you are allowed to whiteboard first then code up on PC (which is easier than coding with a marker).
Nowadays with the virtual interviews it can be hard to visualize, describe and explore some problems with virtual drawing tools..