Making Good Software

A blog by Alberto G (Alberto Gutierrez)

Written by Alberto Gutierrez

July 16th, 2009 at 8:43 am

3 tips to know how good is the candidate you are interviewing

with 9 comments

One of the most critical moments for a team is when they need to hire a new programmer, choosing the right people is what makes the difference between great teams and poor teams.

Some companies are tempted to have short selection processes because the cost involved is high, but hey forget that the cost of having the wrong guy in the team is much higher.

These are my three tips to help you hire the right programmer for your team

1.- Make the candidate draw a high level design.

This activity will help you to know how good designer the candidate is.

Ask the candidate to explain in a board the architecture and design of some previous application he has developed. This will allow you to engage him in an open conversation, by the end of it you should be able to answer yourself the following questions:

  • How good was he explaining the design? One of the most important qualities of a programmer is his communication skills, is almost as important as the quality of the design, if the candidate is not  able to explain it in a clear, concise and focused manner, then how is the rest of the team going to understand it?
  • How good was the design?
  • How good was he answering your questions? You want to make sure that the design he is explaining is his design, so ask him a few questions and see how he answers you, based on that you should be able to tell if he is really the author of the design.

2.- Make the candidate write some code.

This activity will help you to know if the candidate is able to produce working code in a realistic time frame.

There is a very popular article from Joel Spolsky “12 steps to become a better code” where he states as point 11 “Do new candidates write code during their interview? “, well, I couldn’t agree more, that will give you an unique perspective on how the candidate really performs, there are still a few considerations.

  • Leave him alone in a room with a computer, just come back when the time is over.
  • Make him code using the same tools he would use in the position he is applying for.
  • Leave him enough time to complete the task

3.- Make the candidate review some working code.

This activity will help you to see if the candidate has a good sense of what good code is and will help you to determine how good he is reading code.

By asking the candidate to write some code, you should have some idea on how clean his code is, but that could be a false impression as you will be judging based on a piece of code which has been written under quite pressure, that’s where this other activity will help you, hand him over some poor functional code written in the language he is applying for, and leave him alone with it for as much time as you think he will need to review it, then come back and ask him the following questions.

  • What is the purpose of the code?
  • What do you think of the code, is it a clean code?
  • What would you change from the code to convert it into clean code?
Easy AdSense by Unreal

Related posts:

  1. 3 non technical tips to be a better software developer
  2. How to write readable code? 5 Tips to improve your code readability.
  3. Top 4 mistakes hiring new programmers
  4. 7 non technical tips to deliver great software
  5. 5 tips to make good code reviews

9 Responses to '3 tips to know how good is the candidate you are interviewing'

Subscribe to comments with RSS or TrackBack to '3 tips to know how good is the candidate you are interviewing'.

  1. How _well_ not How _good_. You’re fired!

    dan

    16 Jul 09 at 10:46 am

  2. [...] original here:  3 tips to know how good is the candidate you are interviewing at … Posted by jedwan Uncategorized Subscribe to RSS [...]

  3. [...] Here is the example post: 3 tips to undergo how beatific is the politician you are interviewing at … [...]

  4. That is how I have done tech interviews for the last 15 years.

    I couldn’t think how else one would approach this.

    However when I interviewed for jobs in Australia in the last 12 months they all focused on management style fit. Not skills.

    I always thought it worked best to get good people then figure out how to fit them in to my organisation. But the Aussies seem to have a different approach.

    (That’s not to say I am good. Just that I was surprised that hirers didn’t try to assess how good I was)

    Peter Williams

    17 Jul 09 at 4:20 am

  5. Also ask him to go grab some coffee and see which coffee he gets. U can understand a lot about his attitude:)

    Cesare

    17 Jul 09 at 4:23 am

  6. Yeah, getting them to write code might sound silly, but is actually pretty useful. That is, core stuff to get a level check, not crazy riddles.

    Sekhar Ravinutala

    17 Jul 09 at 3:46 pm

  7. Giving some one to write code is good but expecting some one to remember API’s is bad.

    Vishwajeet Singh

    19 Jul 09 at 11:17 am

  8. A person can not write code as well on a computer that they have not set up the way they like it. I would probably appear clumsy on a computer I have never used before.

    Vatar

    24 Jul 09 at 12:21 am

  9. @ Vatar
    I agree. Each time I’ve got an interview, I just look at my laptop thinking if I can brought it with me.

    Thanks for this article. Usefull for me one day …

    redsonic

    24 Jul 09 at 4:16 am

Leave a Reply