Mark Needham

Thoughts on Software Development

Hiring Developers – not just about the code

with 3 comments

It seems programmers are taking a bit of a hammering this week!

Kris Kemper talks about the Net Negative Producing Programmer referring to a paper linked to by Jay Fields, concluding that the code submission is very important in helping to distinguish between good and bad candidates.

Now I probably haven’t done as many interviews at ThoughtWorks as Kris has but from what I’ve seen of the recruitment process it seems to be more focused on ensuring that potential hires culturally fit into the organisation rather than that they write the best code that anyone has ever seen. Clearly a level of ability in coding is important for a Developer but I believe that the ability to communicate and collaborate with your colleagues is even more important. It’s quite a rare situation in software development where you have to develop something completely on your own, and even if it were to happen you would still need to communicate with your customer even if the development effort was solo.

Bruce Eckel has an interesting post about hiring technical talent where he lists several criteria for hiring people, ending on the note that organisations should not hire people he terms as ‘toxic’. A toxic person according to his description is someone who has some kind of quirk that causes destructive behaviour. In other words someone who is likely to destroy the morale of any team they are placed in by their actions.

I think ThoughtWorks are getting the balance right in hiring very talented people who are able to collaborate with each other to solve problems. One client even said to me that they did not understand how every single ThoughtWorks person they met was so nice. I think that is a glowing recommendation for looking at the overall personality of candidates and not just raw coding ability.

Be Sociable, Share!

Written by Mark Needham

August 10th, 2008 at 1:23 am

Posted in Hiring

Tagged with , ,

  • Perhaps I was overly focused on the code submission in my post – there are certainly other aspects of the process around getting a great candidate.

    However, I still think that having a code submission be a “gate” in the process is important – immediately eliminating the ones that do not have the initial skill level.

    Even outside of skill level, you can often tell how much effort someone puts into the code submission, so regardless of whether they make technical mistakes, you can tell whether they really tried in the first place. I find this to a be a reflection on hard they will try to excel at their profession, and grow as an individual.

    Certainly, if any company can identify people who are lacking in skill but certainly have great desire to grow, and wants to spend the money training and nurturing those people, then they could build a top notch person. It may be a little harsh, but I’d rather begin with people that have both skill and motivation.

  • Oh, and on the point of toxicity – I would agree with that. I’ve heard that in the Thoughtworks UK office, they have group interview sessions where people have to work together to solve a problem. I love this idea as well, as it should help identify toxic individuals.

  • Re: group interview sessions

    Certainly do that in the UK for the TWU recruitment process. I’m not sure whether it’s done for lateral hires or not. I did do some pairing interviews when I was in Australia, not sure if that’s still done in the UK.

    I think that’s a good point you make about putting the effort into the code review being a fair indicator of whether they will excel at their profession.