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 ... uhm, 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