Archive for the ‘development’ Category
Developer test – How to interview a developer – Part 1
Have you interviewed any developers for your team?
If you have you will know how incredibly difficult it is to find good people and how insanely difficult it is to find great people. I used to use the traditional method, of asking a few questions about their experiences and asked them to describe how they would break down a complex problem etc … however I found that this method did not always get the people I wanted.
Whilst working with the liberate platform I used the “Show your name on the screen test”. This worked really well I was amazed at how manny people could not do this
<table><tr><td> </td></tr></table>
document.tables.cells(0,0).write("Simon Elliott");
When I came to test OpenTV A good friend of mine developed a very very simple technical test. The candidate had to look at a single 10 fine function and spot the bugs … easy. There were only three, a syntax bug, adding a value instead of a pointer when looping and an incorrect centinal on a loop.
With a rudimentary understabnding of the language anyone could get the answer.
However while these tests were great at finding bad developers,
they were not so good at finding great developers.
My new tests are, better they test language fundamentals, ability to communicate, how to problem solve the works …
“Imagine that you have made a Clock class, and you are writing the functions to draw the big hand and the little hand. You already have member functions to draw the clock face, and to draw the hands all you need to do is write 2 functions
get_big_hand_rotation ( hours, mins)
and
get_little_hand_rotation ( hours, mins)
What would the code for these functions be?“
This test is great, the candidate gets to think his way out of a problem, the things to look for are
- Is the candidate professional in approach, i.e. do they qualify the question with you, do they take care to understand what you want from them.
- Is the code that they make good?
- How quickly do they do the test?
- Are they good communicators?
- Does the candidate teach you something?
Here is a some code that does this … but the important thing is how the candidate answers the question.
class Clock {
public static void main(String argc[]){
System.out.println("Welcome to Clock");
int hour = new Integer(argc[0]);
int minet = new Integer(argc[1]);
System.out.println(” big hand rotation = ” + get_big_hand_rotation( hour, minet ));
System.out.println(” little hand rotation = ” + get_little_hand_rotation( hour, minet ));
}
private static float get_big_hand_rotation( int hour, int minet ){
return minet * 6;
}
private static int get_little_hand_rotation( int hour, int minet ){
return ((hour * 60) + minet) / 2;
}
}
0COMMENTS