How Aaron Swartz Hires Programmers
There are three questions you have when you’re hiring a programmer (or anyone, for that matter): Are they smart? Can they get stuff done? Can you work with them? Someone who’s smart but doesn’t get stuff done should be your friend, not your employee. You can talk your problems over with them while they procrastinate on their actual job. Someone who gets stuff done but isn’t smart is inefficient: non-smart people get stuff done by doing it the hard way and working with them is slow and frustrating. Someone you can’t work with, you can’t work with.
The detail in the rest of the essay is well worth a read.
Interestingly, I’ve found this works on the interviewee side, as well. More often than not, it’s the casual interviews that give me a better sense of the company and people I’m about to work for. Pomp and circumstance just show both parties they can follow customs and often foreshadows an environment rife with poor communication.
(via John Gruber)