By Guus , 27 February 2008

One of the most difficult decisions I make in my job is deciding on hiring a candidate. Make the decision well, and the team will grow with a productive team member and everybody's happy. Make a bad decision, and I'm in for a potentially long, difficult and distracting track.

There are many things I look for in a candidate, but for software engineers programming skills are obviously key. Over the years I've had good luck and bad luck when hiring new people, but I quickly learned that doing a good job interview is a lot harder than it looks. Now, years later, I feel competent, but finding a good candidate still requires a lot of attention and energy.

I always incorporate a little bit of coding during interviews, even during the phone interview. No matter how senior the job and no matter how many years of experience a candidate has, I'll always do it. It's amazing how a simple programming assignment can give you insight in how people think and write code. It's even more amazing that lots of candidates don't even pass a basic coding question. One of my favorite questions is this:

Given an array of integers, write a method that will return the largest number (the maximum value) in the array. The integers are: 4, 6, 2, 4, 11, 5, 3.

Yes, this is a real simple question, and yes, it has a real simple solution. I always make sure I carefully explain the problem, clearly state the assignment and ask the candidate if they understand my question. They can code it in Java or C or in the rare case that they know neither any other language. And yet, lots of them fail!

Clearly, this is only a first check. Beyond the first phone conversation and the simple coding questions there's a whole layer of other questions and coding assignments, but as a quick screening tool questions like this are hard to beat. If you're interviewing for technical positions, I strongly recommend you always incorporate such a quick test for basic coding skills.

Interviewing is hard, and it's an art I'm always working to improve. A book that helped me early on, and gave me a better understanding of the theoretical and practical aspects of interviewing is Hiring the Best by Martin Yate. I still occasionally re-read parts of it and I highly recommend it to anyone who wants to improve his or her recruiting and interviewing skills.

(If you're in the market right now and are interviewing at my company soon: bonus points for reading my blog and mentioning it during the interview. Another thing I look for in a candidate is a genuine interest in the company and team that you may work with for the next years of your life).

Topic
By Guus , 27 February 2008

Wow! Sunday 11 mile run really made me tired. I went for my bi-daily run yesterday evening, and couldn't even complete it. I walked a few times, because my legs were still really tired. I feel fine today, but I wonder if it's beneficial for me to run so soon again after my long run.

By Guus , 25 February 2008

Yesterday I did my longest run ever: more than 11 miles, probably close to 11.5 miles. The precise distance is a bit hard to say, since half-way I lost a water bottle and I went back a good distance to pick it up.

It was great fun, I really enjoyed it.

The last part of the run was around the golf course and is quite hilly. My poor quads hurt from all the hills, but it was a great exercise. I wasn't worth much the rest of the day and still feel sore and a bit tired today but running is wonderful.