Fergus Burns sent me a link to this (long) article by Steve Yegge called "Done and Gets Things Smart". Its a rephrasing of the Joel Spolsky adage for hiring engineers, they have to be "Smart and get things done".
Steve’s premise is that we all suffer from the Dunning Kruger effect.
So as interviewers we are screwed, because we can’t recognise our own incompetence.
He then goes on recommend hiring these super human seed engineers having robbed you of all hope of succeeding in that task.
So, first of all Dunning Kruger is probably eliminated to some extent by being aware of Dunning Kruger. Second of all Competency based interviewing can address many of Steve’s concerns.
What is competency based interviewing? Well we define a set of competencies we expect our hires to demonstrate e.g. writes great code, can deliver products on team, works effectively in teams etc. etc. You can be more or less detailed in the definition of your competencies. In Oracle the competencies list was broken down by level and role and ran to many pages.
So you have define what you want, but how do you test for it at interview time? You use STARs. A STAR is a Situation or Task, the Action you took and the Result. You are looking for specific activity that the individual was engaged in. So you immediately drill into sentences that start with "we", "the team", "the group" etc. The essence of the process is to establish what the individual did.
So you get the situation or task and you found out how they responded and what the result was. e.g. did they succeed, was the customer happy, was money made etc.
Once you have accumulated a bunch of STARs you look for contrary evidence. If the candidate has convinced you of his programming prowess, lets look for examples of failure, delay, poor performance. More importantly if you think you have a complete duffer, see if you can find where they might have succeeded.
On of the best forums for drilling into a programmers technical knowledge is a presentation. At PutPlace we ask for a sample of work or a presentation on a previous project. Then the engineering team grills the candidate for an hour or more.
So what do we look for in PutPlace?
- Technical excellence : A demonstrable track record of successful product delivery where the individual was the lead engineer
- Innovation: The ability to create novel solutions to significant product challenges
- Team Work : No prima donnas, the people must be engaging and socially equipped to integrate with the team
- Enthusiastic: a bit of vavavoom goes a long way. Energy is infectious
- Discipline: The ability to control their own work without micro management
- Magic: Something special they bring to the team that we don’t have already. Different for everbody, but if you don’t have a spark you are not going to make it over the line.
For the seed engineers that Steve talks about, you need people who can transcend mere code cutting and take a whole product view that encompasses user experience, product roadmap, process, delivery, scheduling and user delight.
How do you find people like this? Well if your like me and you’ve run five successful product teams in 5 companies in the last ten years then you have a big black book of the good guys. Be aware none of these guys is never going to appear on monster.ie. If you’re starting out do what Steve says and ask around.
I already have my next 5 engineers tagged for hiring, some I’ve spoken to, some I just know about. If you don’t know who your next 5 are, you are in trouble.