Interesting take. Somehow I feel confident and positive about all the things you call out, but struggle with the idea and situation of doing artificial coding puzzles while someone is watching, but judging instead of helping like a pair would. I enjoy doing coding puzzles for fun, but not while being watched and judged and a clock is ticking.
// doing artificial coding puzzles while someone is watching, but judging instead of helping
Look it's definitely an interview and you're being evaluated but good interviewers help you a lot - eg hint when you're over or under thinking something, ask about edge cases you neglected, etc. If you think of the interview as adversarial you probably miss all of that. .
// coding puzzles for fun, but not while being watched and judged and a clock is ticking.
Have you ever troubleshooted a production issue with millions of dollars at stake every few minutes of down time? Lots of eyes on you and time pressure.
Like I said, the interview gives signal.
Remember, nobody is at their best in there situations. The interviewers aren't expecting perfection, they are expecting reasonable performance given the situation. They are usually calibrated on dozens or hundreds of other interviews.
There are very few systems that will actually lose a company millions of dollars every few minutes of downtime.
I have done high stakes production troubleshooting many times. It’s not remotely the same as an interview—not even in the same ballpark. Everyone of those eyes wants you to succeed and will help you in any way they can. And if they aren’t being helpful, I politely tell them I’ll solve it faster if I can focus without people looking over my shoulder.
The fake adversarial system created by coding interviews is why I prefer pair programming with a candidate on a novel problem.