How to Hire a
Programmer
by Kevin D. Weeks
Forget about competency tests, previous work history, personality profiles like the
MBTI, reference-checking, and follow-up interviews. After years of rigorous and admittedly
maverick research, I've identified five key characteristics you can use to quickly assess
the fitness of a programmer candidate. I humbly submit that if you follow my advice and
check for these attributes, you'll shorten your hiring cycle and simultaneously increase
your success rate. The best programmers prefer cats as pets. I've canvassed hundreds of
programmers on the subject of preferred pets, and despite the odd ferret-lover (and
believe me, ferret-lovers are odd), time after time cats turn out to be the non-human
companion of choice. Think about it; it makes perfect sense because programmers are human
cats. Cats are night animals, as are programmers. Cats are independent, like programmers.
Cats prefer to be left alone except when they want attention, and so do programmers. Cats
are notoriously elegant animals and ... um, well ... programmers love elegant code. What's
more, software guru Meilir Page-Jones has likened managing programmers to herding cats.
Turning to the next characteristic, programmers have a
highly developed sense of the absurd. And if you think about it, this makes no sense at
all. I don't know why so many programmers can quote The Hitchhiker's Guide to the
Galaxy or know the entire Naughty Hungarian Phrase Book skit, but they do. The next
time you interview a programmer candidate throw a "You're all individuals" at
him and see what he says.
Perhaps a sense of the absurd matters because so much of
what developers put up with is absurd - absurd schedules, absurd requirements, absurd
hours. Treating the absurdities of the average development process with humor makes
developers' jobs much easier.
Developers are usually science-fiction fans. Great
programmers love technology, especially technology that doesn't yet exist. You're in a
business where the only constant is change, and you need developers who don't mind a few
arrows in their backs. Make sure your candidate has read Robert Heinlein's The Moon Is a
Harsh Mistress. And remember, every programmer worth her salt knows what grok means. Many
developers also are musicians, painters, or photographers. Some will claim this is because
both programming and artistic endeavors require great creativity. They're wrong. It's
because programming is more like painting than engineering. Like painters, when
programmers make mistakes, they just code right over them.
Then there's the matter of puns. I've witnessed online
pun-fests that lasted as long as a week, with as many as 30 programmers trying to outdo
each other. I've noticed that some participants are punctilious about staying with the
root word, while others approach them as pun-tests where misspelling words is permitted.
Again, the predilection makes perfect sense. Programming is about using language to
accomplish something, and programmers have a highly evolved appreciation of how a language
can be manipulated to specific ends. Puns are ways of both displaying a mastery of
language and honing it.
So there you have it. Look for developers who love cats,
quote Monty Python, read Heinlein, play guitar, and are accomplished punsters. If you find
all these characteristics in a single individual, hire that person immediately - confident
you're hiring a truly great developer.
VB Tech Journal
January 1998