Wednesday, February 6, 2008

Inter-Sections » Blog Archive » How to recognise a good programmer

Many thanks to Paul for finding this gem:


How do you recognise good programmers if you’re a business guy?



It’s not as easy as it sounds. CV experience is only of limited use here, because great programmers don’t always have the “official” experience to demonstrate that they’re great. In fact, a lot of that CV experience can be misleading. Yet there are a number of subtle cues that you can get, even from the CV, to figure out whether someone’s a great programmer.

[From Inter-Sections » Blog Archive » How to recognise a good programmer]

Recruiting is by far the most frustrating responsibility I have faced in every single job I have held in the past decade. It is just too damn hard.



Screening resumes: Complete pain in the ass. If you get lucky and your wanted ad works, you get flooded with a mountain of resumes of which 85% of them will be complete trash. I remember a few years ago I was trying to recruit a programming intern. I was not picky: I just wanted a student that had the time, wanted to get paid and was interested in learning.



What did I get?



A ton of PhDs, MBAs and people that had paper certifications and no experience. I actually went back to the ad, to see if maybe it was too vague, but it wasn't. It clearly explained that it was a position designed for a student.



Phone screening: Another pain in the ass because many damn good programmers are simply terrible over the phone. If you can get him to open up on the phone call, fine, but I wouldn't hold it against him if he crawls into his shell and starts answering in monosyllables. It happens to the best of us.



The actual interview: people sometimes don't understand that for those of us working in a for profit environment, we simply don't have the time to schedule a few dozen interviews. All of us are too busy billing on projects. That interview, specially if dealing with a small company, is already straining everyone. Be there on time, and try to get as much done as you can. When I interviewed for my current job, I was screened over the phone for about 45 minutes, then I interviewed with the owner for an hour or so, and then spent a few hours doing the technical part of the interview. The whole time I was there I was talking to somebody, not sitting on my ass chilling out.



The list is far from perfect, but overall it is pretty reasonable. I totally agree with the "talk your ear out" factor, even the most introverted programmer opens up and starts yapping once you get him started on a programming topic. The other factor that is very important is the programmers ability to pick up a new technology. I have met over a hundred or so programmers in the past ten years, and without doubt, the best ones were capable of picking up a new subject simply by doing online tutorials or buying a book and learning after hours.



He is also wrong in some other things. A brilliant programmer that works long hours may not feel like spending his free time doing programming too. What you will see as a norm is that even if this kind of programmer won't spend a lot of his free time programming, he will do it to learn new material.


0 comments: