<i>I have observed a general frustration that good developers (who are in high demand) still need to do well in an interview setting.</i><p>I&#x27;m not sure it&#x27;s frustrating so much as it is humiliating. Programmers (especially good ones) have egos that are somewhere between healthy and oversized. Interviewers assume you know nothing and make you qualify yourself at each and every interview, as if you were a fresh college graduate who hadn&#x27;t already made his bones[0] at a dozen other jobs[1].<p><i>A good developer would be smart to realize that this is a part of the project of finding a great new job, and would apply themselves fully to the subtask of preparing for and succeeding at an interview.</i><p>Sadly enough, I couldn&#x27;t agree more. Complaining on the internet is not a sufficient strategy for changing the face of tech hiring, so if you want to work, you have to deal with things as they are. Then again, the best way to find new jobs is through aggressive networking, not being able to reverse a binary tree on a whiteboard. So a good developer should probably focus on that instead.<p>[0]: yes, that&#x27;s a very entitled attitude. On the other hand, if we had gone into an apprenticed trade, like woodworking or plumbing, it&#x27;s expected that you already know your job by the time you hang your own shingle. It&#x27;s a sad day when <i>plumbers</i> get more respect than programmers.<p>[1]: Just to nip this one in the bud: Yes, people lie on resumes. A short conversation about their work history where you ask for specifics should be enough to verify whether they actually did what they said they did. If they&#x27;re good enough to bullshit their way through an interview, they&#x27;re good enough to bullshit their way through a whiteboard programming session. If, for some bizarre reason you make a bad hire despite all the other filters you have set up, <i>fire them</i> and chalk it up to a mistake. If you do it over and over and over, re-evaluate how you do interviews.