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