I like your post, and I was going to comment on it, but the login process is rather onerous. So.....<p>The first thing that jumped out was that you are trying to fit programmers into a bell curve, when they&#x27;re really distributed by the power law, see: <a href="http:&#x2F;&#x2F;blog.benroux.me&#x2F;4-steps-to-making-your-interview-suck-less&#x2F;" rel="nofollow">http:&#x2F;&#x2F;blog.benroux.me&#x2F;4-steps-to-making-your-interview-suck...</a> That was kind of a side piece to your blog, though.<p>Secondly I wanted to give you some ideas I&#x27;ve had on a similar topic, just to throw them out there:<p>Apple has a three-step interview process that I found interesting. First they ask a question about a language (your choice in language) to see that you know at least one language well. Then they ask a question about an algorithm, then they ask a design question (how would you design a chess game? What classes would you use?)<p>Another thing I&#x27;ve found is that programming skill is the low bar. It&#x27;s important, but what you <i>really</i> want in a candidate is someone who can self-manage, who knows how to get things done. Can I assign this person a task, and they will be able to finish it on time (or let me know as soon as they realize it will be late)?<p>So in an interview, I ask questions to figure out if the person can get the computer to do what he wants. Then I try to figure out if he&#x27;s a good self-manager. Unfortunately I haven&#x27;t figured out a way to determine that in an interview, but I&#x27;m still working on it :)