Sunday, April 23, 2006

Hiring: Defence Against Spirals and Flooding

There is a term to describe the process by why many large companies are filled with mediocre people, and the term for that process is "the hiring spiral". I first encountered this phrasing in the book "The Search: How Google and Its Rivals Rewrote the Rules of Business and Transformed Our Culture" by John Battelle. The book describes how Larry Page and Sergey Brin were so worried about the hiring spiral occuring at their company that they were personally involved in the interview process for just about everyone until to it became really impractical.

The hiring spiral goes something like this: Consider a company started by some "A" people. They go ahead and hire another "A" person and then another one. Then they let these new people take over hiring. Those people then (being somewhat shortsighted) hire a "B" person who is no threat. Over time, more "B" people are hired who then themselves start to be involved in the hiring process and proceed to hire more people. They hire, you've guessed it, "C" people. Eventually, you have a pyramid with a handful of "A" people, more "B" people, and many many more "C" people. Thus, mediocrity overwhelms (ironically; it underwhelms).

Now part of this is due to the fact that there are just not enough "A" people to go around (though I think this has a lot to do with the misguided amount that companies are willing to pay - ie they are cheap) and also because some people don't need to be "A" people for the job at hand (though I do think that there are "A" people at all levels...).

Now, restricting this discussion somewhat to the software industry (though I see no reason wy this shouldn't be applicable across many others), some investigation has been made into the productivity of programmers. It seems that there is an enormous variation in the time it takes different programmers to do the same thing. Basically, the summary is that the spread in programmers' productivity is huge (of the order of an order of magnitude in difference).

Therefore there is a somewhat compelling case for paying top dollar for the best programmers. In my experience the best programmers in a company will get at most 30-50% more than the average programmer. However, their productivity will be something of the order of x4 over the average. Rather than think you need one or two senior programmers and many junior ones, simply hire the best programmers you can. Even if you pay them double what the average programmers are paid you are still likely to get a factor of 2 improvement in productivity (actually, the productivity gain you see will actually be even bigger because the number of communication channels is kept to a minimum - remember communication channels among n individuals scales like n**2).

So, if you are with me so far then you want to hire from the very top end of the pool but the people who are doing the hiring, having insecurity complexes and blinkered views, will do their best (perhaps subconsciously) to stifle this plan. They want job security, so they do not want their underlings coming up and overthrowing them from their fiefdom. This is an extremely shortsighted view. Since managerial productivity is largely measured by how the team performs they would be better off proving that they can create an environment in which the individual superstars pull together to behave as a superstar team. Just because their (the manager's) technical skills might be in question, their recognition for leading such a team would grant them serious qudos.

OK, so, you want the best of the best and are willing to pay top dollar and everyone buys into why this is the right thing to do. Unfortunately, you now face the problem with the actual interview process itself; that some interviewers don't interview well and some interviewees don't interview well (= "not well enough" & "too well").

What should be done in my (oh so very :-)) humble opinion is that the good interviewers at a company should take over this role (this leads to secondary issues about their job expectations and career/compensation path but we'll leave that subject for another time) . The good interviewers have a natural talent for identifying people that are spinning a yarn and for drawing out that are not so forthcoming. Smart technical people who specialise in interviewing can be more objective about someone's skills than someone in a team who is facing a potential competitor for promotion can. Teams will of course reject this approach and argue that they need to have a say in the hiring process so they can see whether the person would fit in with the team and all that. In matrix organisations most of the (perhaps mediocre) people you actually end up working with on projects are from completely different teams (that have a different "culture" to yours) and this diversity is actually a good thing (this talks about the advantages of racially diverse juror groups but I think it is a small jump to get to different backgrounds/perspectives being good for groups - stimulating ideas and fresh attitudes). So, getting the best people that provide fresh ideas/viewpoints/stimulation to a team should be the priority, not satisfying all the team members' egos that the new person isn't such a threat or if they are then they are a likeable threat.

So, as long as this selection process isn't made into a bureaucratic HR one then I don't see a problem with this process being outsourced away from the team that is looking to some specialist interviewers with a proven track record.

The other thing that I think a company can do when sieving for candidates is to post a real problem to be solved that way even if the candidate isn't hired their thoughts on the problem at hand might help the team find a workable solution thus bringin some positive contribution to the company (for the investment the company makes in the time/effort spent interviewing the candidate). This also has the advantage that only people serious, and capable, apply (it probably gets rid of 70+% of the applications that would otherwise be received, and gets around headhunters submitting the CVs of all and sundry in the hope that one of them will be selected).

Look at the way Google labs did their hiring process; ''{First 10-digit prime found in consecutive digits of e}.com" (this was just step #1) - it doesn't even mention that it is Google that is hiring! OK, so it wasn't a real problem, but the skills to get it are real and it saves their time by them not having to look at the people who punt their CVs just to see if they get from anywhere.

I think this is a great approach for getting noticed/hired. Perhaps rather than publishing a specific problem for applicants to solve, a company could post areas they are looking to strengthen and only look seriously at applications that follow that pattern....seems to me to be an idea not entirely without merit.


At 7:33 AM, Blogger A Shropshire Lad said...



Post a Comment

Links to this post:

Create a Link

<< Home