Hiring Good Programmers

The company that I work for is currently embarking on a hiring spree. So I thought it would be a good idea to refresh my interviewing skills before I launch myself into the hiring process.

A recent Coding Horror entry highlights “The Years of experience myth” which is the inadequacy of trying to “match– exactly and to the letter– some highly specific laundry list of skills”. Unfortunately when dealing with some recruitment agencies, I find this an all too common practice. Instead it is vital to remember that “… what software developers do best is learn. Employers should be loooking for passionate, driven, flexible self-educators who have a proven ability to code in whatever language — and serving them up interesting projects they can engage with.”

Joel Spolsky sums up the characteristics that employers should be looking for in future employees as “Smart and Gets Things Done“.

So, now that we’ve figured out what to look for in a candidate, lets look at some resources that give tips for screening CVs, conducting phone screens or face to face interviews.

And finally since the phone screen is probably the most important stage, it’s worth highlighting the two common critical mistakes that an interviewer could make in the phone screen:

  1. Don’t let the candidate drive the interview. The interviewer should do most of the talking, guiding the conversation along until they’re satisfied the candidate knows the answers to the questions (or has given up).
  2. Watch out for one-trick ponies. Candidates who only know one particular language or programming environment, and protest complete ignorance of everything else, are a giant red warning flag.