‘Technical Interviews’ have got to stop. They are a disgrace to the IT profession. Two MVPs who I asked the question ‘Have you ever passed a technical interview’ have admitted ‘Never’. I’d like more successful developers to confess their inability to remember much more than their name under the pressure of a technical interview. The most extreme geeks all have brains that blue-screen with a temporary aphasia under stress.
I have a new proposal to make. Instead of employing developers after asking them a series of trivia based from trawling obscure facts in MSDN, you should see how good they are at Table Tennis, Table footie, or guitar. I might include pool/Billiards too.
I intend to justify this apparently ludicrous assertion
There are many theories of what makes a good developer. In the 1960s, when the shortage of people with IT skills first became apparent, people were selected on their mathematical skills. This proved to be disastrous, and IT departments soon filled with strange geeky folk devoid of social skills, or any understanding of real business applications. This puzzled the recruiters who consulted the psychologists. The Psychologists pondered over this and, in the fashion of the time, came up with a set of problem-solving tests based on Hans Eysenck’s intelligence tests. In Britain, these seemed so obviously appropriate that they even appeared on adverts ‘If you can solve this puzzle in five minutes, call xxxxx’. Subsequent exercises in validation showed that they were no more successful than chance in successfully predicting a good IT programmer. In fact, it just told you that the person was good at puzzles; it also suggested that they didn’t get out enough in the evenings. The psychologists then took the more sensible approach of testing real successful IT programmers, and seeing what their skill-set consisted of. It turned out that good programmers were very articulate. Otherwise, they had no obvious dominant skill in common.
Selecting programmers who were good at language skills just didn’t look right. It had no ‘Face Validation’, and it didn’t impress the brash new profession of ‘HR’. They wanted tests like they had at school. Where there is a demand, there are always people prepared to supply it, and soon a lucrative market in Technical tests developed. The validation of any psychometric test of ability is a highly technical subject which I won’t bore you with. Please just remember that, because these many tests of technical competence have never been scientifically validated, they are no more effective in selecting the good candidates than testing to see if the applicant can sing ‘Somewhere over the rainbow’ in a high voice. The classic Microsoft interview questions, such as ‘Why are manhole covers round?’ shouldn’t be used until you can prove that successful programmers believe (wrongly, it turns out) that it is to stop the covers dropping into the hole, more frequently than do the duffers.
Besides fluency with spoken language, there is another essential component, a personality trait that is necessary for a good developer. This is a cussed stubbornness that won’t let go of a problem until he or she has solved it. It is that will to go through pain, boredom, hunger, and lack of sleep in pursuit of doing something that is almost impossible…. Such as playing guitar properly, solving advanced physics and mathematical problems, playing badminton or table Tennis well.
The best programmers I’ve ever met are astonishingly alike in this respect. If they can’t get something in their lives to work as well as they want, it turns into a man-machine struggle of epic proportions. If I give someone a programming puzzle to solve in an interview, the good programmers don’t necessarily know the answer; the good programmers refuse to finish the interview until they’ve got the answer right. It suddenly rears up in their minds as being even more important than the interview. The whole objective of getting a job is temporarily put to one side in pursuit of a solution.
The same personality, if she, or he, finds himself unable to play table-tennis properly, or play ‘tiptoe through the tulips’ on the ukulele, or beat the regulars at Pool, will bloody practice until she, or he, does or renders himself or herself incapacitated in the attempt.
If you think that this is an absurd theory, you will be surprised to hear that the standard American test of mathematics, which is prefaced by a rather long-winded form for name, address etc. , has an almost perfect correlation between the Mathematics score and the ability to fill in the preliminary form accurately. If the applicant has the mental stamina and obstinacy to apply to fill in the preliminary form you can be certain that he or she will be good at Maths. That same cussedness turns out a good IT programmer, or a good table-tennis player, or any skill that required dogged determination.
So, if I ever have to interview you for a technical development job, have no fear of being taxed with knowledge of obscure parameters to DBCC functions you would never dream of using, or obscure behavior of Transaction rollback in linked servers; No, beyond establishing a sound ability to understand questions and solve general programming problems, I shall be there to challenge you to a game of table football, croquet, pool, or any other skill that can only be achieved by bone-headed stubbornness and practice beyond the patience of an ordinary mortal.