How to Recognize a Good Programmer
I think I agree with Paul Graham here, rather than the author. Business types who dont know anything about programming are going to have trouble picking good programmers.
Here are some nitpicks with the article:
Passion is important, although I disagree with "Good programmers will have a tendency to
talk your ear off about some technical detail of what they're working on".
If asked, a programmer should tell you about things with passion, but having them blather on about an arbitrary thing just means they probably are spending too much time on it in general.
I should mention, hearing good criticisms and bitching about what should be different, I see as good.
"Dammit, why doesn't apple's Cocoa documentation list all of a particular classes APIs in one place somewhere? There's NSString, and AppKit's NSString, ugh" and "Drawing text on OS X is a pain in the ass -- there's at least 5 APIs that all fail in some way or another" would be two examples of what I consider good criticism.
Yes, wanting to learn and self teaching are great qualities. Although:
"In fact, the great programmer will be the one talking your ear off about a new technology that you haven't even heard of, explaining to you why you must use it in your business, even if none of your staff knows how to use it. Even if it's a technology he doesn't know how to use yet."
This is idiotic. A good programmer should be sensible and reasonable-- not fearing change, but not changing for no good reason (and certainly not for something he doesnt know himself!). And again, talking your ear off about any particular technology is a warning sign. "OH, you just HAVE to use X". BAD.
Yeah I really want to see code that they've created (either for fun or otherwise). That says everything.
I don't think bleeding edge is worth anything. Variety is good, although I must admit the scope of my programming is mostly limited to assembly and C-like languages, so (rationalizing) it isn't everything, as long as you're willing to learn.
Of course, the article misses a key point:
Programming is a medium to accomplish goals. Having someone who understands the goals and vision, and can program worth a shit, is worth more than anything else.