Technical Interviewing                                               Printer Friendly Version

 

 

Your team is only as good as the people within it. If your team can’t deliver on time or have problems communicating effectively with you or each other projects are likely to fail no matter how good your management style.

 

It follows that interviewing should play an important role in structuring a team as, not only do you need to find people that are technically able, you must also consider how they will fit in your existing team structure.

 

This is a subjective process. In this article I attempt to outline an more structured approach to the interview process. This does not remove the subjectivity completely. Far from it in fact. But it does provide an objective basis on which to make judgments.

 

It is important to note that no matter what process you put in place the best indicator will always come from what you feel about the candidate. You brain will always be the best measure of the candidate’s ability to fit into your team structure. However the process described here helps structure your thoughts as well as adding objectivity where it can be applied, particularly to base levels of ability both technical and intellectual.

 

The below process was formulated to find candidates for a Java development role at a major Investment Bank.

 

It has three phases:-

  • Phase1 - The First Written Test: A one hour test performed on site immediately prior to the interview.
  • Phase2 - The interview itself.
  • Phase3 - The Second Written Test <Optional>: Only supplied to good candidates, this test takes about three hours and can be taken at home. It is a code comprehension exercise based on a piece of open source software.

 

 

 

The Most Important Points                                             

 

 

Be decisive:

 

If a candidate is good then take him forward (if you have several rounds). If he is not then reject the candidate. If you are not sure then reject the candidate. A bad hire will cost much time and money so if in any doubt, do not hire.

Be aware of preconceptions:

It is easy to form a prejudice before you enter the interview. These can be formed from the candidates CV, from talking to a recruiter or a colleague that has interviewed the candidate. It is hard to turn such preconceptions around in a one hour interview it is best to avoid them in the first place if you can. If you do think they may be forming try to be as neutral as possible in the interview. Trust your instincts and find out for yourself.

Objective measures only tell you so much:

 

Using the tools suggested here to find out if a candidate is technically able is only a small part of the story. Your task as interviewer evaluate whether the guy will fit in. Again trust your instincts and if in doubt just say NO.

Overall you are looking for bright people that get things done:

These are by far the two most important attributes.

 

Phase 1: Written Test One                                                 Link toTest

 

 

Overview:

The candidates are brought into the office and given an hour to complete this test. The test has two sections. A full interview is performed immediately after the test and commences by going through the results of this test, asking the candidate to clarify their answers where necessary. Should the candidate not come up to the required benchmark at this point the interview is terminated.

 

Content:

Section 1 examines their technical ability and process. The aim here is to cover all the basic requirements such as “have they written a unit test before?” and “Do they understand when to use the Event Dispatch thread”.   

 

Section 2 has four logic and lateral thinking problems. These provide a good cross-candidate benchmark for problem solving ability.

 

Rationale:

The written test has several distinct advantages:-

  • It allows the interviewer a means to assess the candidate’s ability when they are not under the direct pressure of an interview.
  • Time is saved in the interview itself as you can immediately jump to any areas that may appear to be of issue.
  • The interviewer can appraise the candidate’s ability to articulate written answers as apposed to simply verbal ones.
  • A hard copy is retained which can prove useful when making comparisons later in the process.

 

 

 

Phase 2: The Interview

 

 

Score Sheet

Make sure you make notes and keep score of the candidate’s answers. Single words to jog our memory often suffice.

Content:

Ø     Feedback from Written One (10 mins)

I usually start by going through the answers for the Written One. This only takes five of ten minutes and provides an opportunity to assess whether the interview should proceed as well as allowing the candidate to firm up answers that may be unclear. This is a great opportunity to probe areas in which the candidate appears wooly. For example many candidates fail to test the null case in a unit test. This would flag that they may not be that familiar with the process and thus would warrant further investigation.

 

This phase can have the drawback that it applies excessive pressure to the candidate early in the interview, particularly if you are not happy with some of their answers. It is worth iterating that care should be taken not to make questions too accusatory or condescending in this (or any other) section of the interview.

 

Ø     The Open Question (5 mins)

I always open the main phase of the interview with the same question:

 

What makes you a good developer?  When you start to write a piece of code what are you aiming to do other than fulfil the functional specification?

 

Proactive candidates will jump on this opportunity to demonstrate what they are interested in and how they like to improve the environment in which they work. Developers that just churn out code are likely to give flatter, more instrumental answers (but this may be what you are looking for?).

 

If candidates don’t jump on this one immediately, relate it back to their last project: “In you last few projects what have you been really pleased with and why?”

Ø     The Candidates Approach (15 mins)       Link to Sample Questions

These questions are aimed to probe the candidates approach directly and have no right or wrong answer. Specifically they look at areas such as “would you make a change in this situation or would you leave it?” and “is large scale copy and paste ever an acceptable development strategy?”.

 

Such questions are subjective and it is up to you to assess the candidate’s answers. Most importantly the answers must fit in with the development strategy of your team and business environment. I have seen highly able candidates perform badly in our environment simply because they cannot fit in with the process and approach that it requires.

 

Finally always throw in a question about how they deal with confrontation. Something like:

 

“What do you do if you boss insists on you doing something you feel to be fundamentally wrong. Have you been in this kind of situation before?”

 

Such questions often reveal interesting aspects of how the candidate has dealt with confrontation before.

 

Ø     Previous Project (10 mins)          Link to Sample Questions

As with standard interview practice it is very useful to spend time probing what the candidate did in their last position. In particular:

  • Try and understand their last project. This gives you an opportunity to probe them on their home turf about subjects they should know inside out.
  • If a good topic isn’t immediately forthcoming ask some direct questions. Asking them to describe the workflow model in their last system or give them some paper and ask them to draw the system outline often works well (you can start the candidate off on this one when marking the Written One).
  • Do they seem passionate about what they did? Getting enthralled in describing some aspect is a sign of a good candidate.
  • Do they explain their project in a eloquent and comprehensible way?
  • Make sure you ascertain that they have thought about the big picture, questions such as “how could that have been improved”, or “had you team considered taking that in this direction? What might be the advantages and pit falls of this if you did?”

 

Ø     Technical Section (10 mins)         Link to Sample Questions

I pick questions that have not been addressed so far from a list of technical questions <technical questions>. These include topics such as threading, swing and OO design.

 

Ø     The CV (5 mins)

Probe their CV for past experiences, technical specifics etc

 

Ø     About the Position (5 mins)

An opportunity for you to really sell the position you are recruiting for. Technologists tend to be attracted by good technology and the opportunity to learn on the job so always play that card first if you can.

 

 

Phase 3: Written Test Two                              Link to Test

 

 

Only supplied to good candidates, this test takes about three hours and can be taken at home. It is a code comprehension exercise based on a piece of open source software. Answers are available on request.

 

References:

Joel on Software

How to interview and hire people