Coding Horror: How to Hire a Programmer

Posted: March 07, 2012 Comments(2)

Coding Horror: How to Hire a Programmer.

I’ve been a reader of Jeff Atwood for some time now. I’ve lost count of the impactful entries I’ve read on Coding Horror but the overall percentage is super high. I really like this piece in that it’s straightforward, smart, and offers really great tips to both people looking for a job in addition to those that already have them.

  1. First, pass a few simple “Hello World” online tests.
  2. Ask to see their portfolio.
  3. Hire for cultural fit.
  4. Do a detailed, structured phone screen.
  5. Give them an audition project.
  6. Get in a room with us and pitch.
  7. None of this is guaranteed.

This post serves two major purposes. First, it’s geared toward those doing the hiring. That tells potential employees what they should be looking for when being interviewed. Interviews are a two way street, not only is the potential interviewee being evaluated, the company offering the interview (ideally) is as well by said interviewee. It’s a good checklist with which to compare your hiring process.

The second purpose of the article is to make sure you’re prepared for an interview that’s rightfully more involved than a resume review and 15 minute in-person conversation.

There’s a lot of good stuff to glean from this post, and a lot of work out there.

Get my newsletter

Receive periodic updates right in the mail!

  • This field is for validation purposes and should be left unchanged.


  1. That’s a great point, I think references can support a strong GitHub profile for example, but at the same time I don’t think I’d hold a lack of references against a candidate. I know all too well that leaving a past position involves two people: the candidate and the candidate’s ex-employer. Those relationships can sometimes end in such a way that prevents a reference from being mentioned. Not out of poor performance or a firing, but because the departure was perhaps ill-received.

Leave a Reply

Your email address will not be published. Required fields are marked *