Interviewing software developers
A summary translation of two older posts about interviews.
I had tens of interviews with young software developers. The market in my town is quite hard and I had to imagine which types of candidates I could have.
Some of the candidates have a genuine interest in money, others in having a great career, but there is a significant number of people who are interested in “software engineering”. They are not coders (see rent-a-coder), they are looking to implement something that is really working.
Some of them start with embedded in second or third year, crafting a small PCB, they stay nearby a passionate professor. They continue with participation to various contests, sometime they are hired even before graduation, still keeping the crafting passion.
In a few years, you find them in the core team of the project. They are quite happy as they know what they like and, due to nice advance in career, a little bit more relaxed related to their future.
My humble opinion is that they enjoy what they like and don’t have to go home to practice their hobby. They come with most innovative ideas, they are change agents in their organization. No wonder about that. I have quite a lot colleagues like this and it’s always a pleasure to work in such a team.
Nevertheless, there is a significant number of people, have a great potential, but lacking the perspective about their life. They start great, seems to break records and suddenly they are stucked. They start to doubt about the organization they are part in, but never come with concrete alternative. They are not at all attached emotionally by the team, more likely driven by a rough idea. It’s very surprising to see them collecting a row of failures, like you would look to a BMW M5 which cannot overcome a Dacia Logan on the highway. On top, the BMW is pumping out smoke like an old train.
- There is no recipe to identify the people born talents which will die as a big hope. But, I always look to this criteria when deciding about a candidate. It is same important as what he knows.
This is one criteria. Others would be
- Gifted engineers do make the difference in projects.
- You cannot make a team out to “out-of-ordinary” guys. It is a tautology. Still, it is not evident for everyone.
- It is hard to wait for “perfect fit”. Still, the compromises you have to make need to be acceptable for long run of the team.
- Consider, if possible, the next 2-3 moves of the person. Imagine the person in the next job, either as expert or managerial. After all, a manager should be an acceptable chess player.
- Look for recommendation. If you know people that could give you hints, you gain two things. First, you know better the candidate. Then, when recommendation come from team members, you make them responsible and they will work for the integration of the new comer.
- Don’t look for the best candidate from know-how point of view. The best employee is the one who is integrated first and can offer great results on short and medium time-frame.
- If you value the Pygmalion effect, it really works.
- For a great candidate, don’t give up after the first No. Always consider the second.
Hopefully, this post is not too intricate. Please give feedback if you have used the idea.