After some thought, you come up with what you consider to be a creative approach to interviewing. When candidates appear, you will ask them to teach a lesson from the high school curriculum [5-6 to 14 years old]. You want to make sure the candidate is well prepared so that you don't tell them what lesson you want to see before the interview begins. If the candidates understand the topic, you will conclude that they can easily teach something as they have clearly performed well under pressure on a randomly selected topic.
So you post a job ad and some really great candidates are coming up. However, for the first trial of the new approach, you plan to try it out on a referral person: a teacher one of your staff has worked with in the past and claims to be the star of the school. You are surprised at your luck and think that it is perfect for testing your new interview method. You contact her to arrange a date for the interview and tell her about your approach to give her the opportunity to prepare.
Then interview day comes around and your candidate shows up at school. You may feel that she is a little nervous, which is weird because she is an experienced teacher with a flawless resume. You decide not to dwell on it and instead invite a teacher to one of your classes to begin your interview. "I would like you to give a lesson in number theory." At this moment, her face drops: you did not know that she had not taught in grade 8 for over 10 years. But as a professional she goes to the blackboard and starts the lesson. Explains the factors of numbers and how to determine if a given number is divisible by 2, 5, and 10, but does so with difficulty. When you ask about the GCD and the NOC, she needs an explanation of the abbreviations, and you see this as a bad sign. You explain that you mean "greatest common divisor" and "least common multiple",but now you can tell that her confidence is undermined, and besides, you pick up the irritation in her voice.
At the end of the hour, she made a mistake on the main points of number theory, and that does not at all fill you with the feeling of confidence that she can teach the same lesson in front of a group of naughty eighth graders. The teacher is great at handling other behavioral questions, but you can't shake the feeling that she might not be the best teacher in this classroom. After some thought, you decide to hire a much less experienced teacher who excelled in a "test lesson".
While this may seem like a completely contrived example and a bizarre way to interview a teaching candidate, this is the method used when interviewing software engineers. Although I'm not here to feverishly argue that programming interviews don't work at all ( although others have done so ), I firmly believe that there is no place for them when interviewing seniors.
Why? Simply put, seniors are different from each other, and a typical programming interview puts them at a disadvantage for a number of reasons. So, such interviews:
- Time consuming preparation — , . . , , , , , , , - . . , ( ), . , , , , .
- - — , . , , . , , — , . , , , , ( , , ) . , .
- , — , : , . 3-5 ( ), . , 3–5 , , , : . , , , , , , . , , .
- — , , . , , . « , , ? ? ?» , . , .
Putting all these factors together, it shouldn't come as a surprise that seniors hate coding interviews. If you want to attract the best and reduce friction when interviewing in this very narrow job market, I would suggest that you stop applying coding interviews.
But perhaps you are thinking about how you can find out if candidates can program? If you are suspicious of hiring a developer of this level without realizing his programming skills, I would suggest giving you a very short assignment (which takes no more than an hour or two and is done at home). Most should be able to find a small amount of time to complete such an assignment, especially since it eliminates the preparation work required for a programming interview and can be broken down into time slots that better fit their busy schedule. The assignment also allows them to work in their native IDE (if they so choose) and spend any amount of time re-examining the standard libraries.
An added benefit is the fact that the applicant can devote as little or as long as possible to this exercise allows you to understand what drives them. Are they attentive to comments? Have they thought about testing? Structuring your code intelligently and clearly? How focused are they on quality of work? In other words, you will know if candidates can program and if they can program well and in more realistic circumstances.
Seniors are the lifeblood of any IT company. They are the most desirable, the most expensive and the hardest to attract. And especially in a historically challenging job market, your hiring process must be tailored to their specific needs, as you need them far more than they need you. They hate coding interviews, and you should hate them too if you want to attract the best.
Have you ever had to participate in such challenging interviews?
As usual, the promo code HABR will add 10% to the training discount shown on the banner.