September 8, 2008

...Learn TDD with Codemanship

Continuous Recruitment & Hoarding Talent

It's the same old same old.

A gap appears in our (strictly hypothetical) development team and suddenly we're running around like headless chickens trying to fill it.

It's a desperate situation that we've created for ourselves. Because we only actively recruit when we have an urgent vacancy, we end up with whatever and whoever happens to be available at that exact time.

It's like last-minute Christmas shopping. We run around town at 4pm on the 24th of December trying to get something for everyone on our list. But all the good toys are gone and all the supermarket shelves have been picked clean of the good single malts and the best perfumes. You know your brother would really love that latest gadget: but they all sold out in November. So you make massive compromises, and your kith and kin get some pretty crappy presents. (But hey, it's the thought that counts, right?)

Some people are more organised than that. They think about Christmas all year round. They're walking past a shop and they see the perfect gift for Grandpa in the window, and - even though it's still February - they go in and they buy it, they take it home and they wrap it up all lovely and nice and then squirrel it away until December 25th.

Now why don't we hire that way? How long could you afford to keep someone really good on the bench before it just wasn't worth it any more? I genuinely believe that some software developers are ten times as productive as others, so if you found some really good, it might make commercial sense to keep them on the payroll for months before a real project comes up for them.

I think there's an equation here - a formula for proactive recruitment vs. reactive recruitment. I strongly suspect it will reveal that, in the medium-to-long term, it makes more sense to be constantly on the lookout for talent and to be rady to offer a contract there and then if just the right person comes along.

I know some fans of efficiency and Lean-ality will argue that keeping people on the bench is tantamount to a liability and that you should sweek to minimise such waste. But I'm afraid I totally disagree. You see, I believe that some waste - some latency - is unavoidable (necessary, even) to achieve responsiveness and to be able to adapt to chagning circumstances.

In situations where resources - like genuine talent - are this rare, you should hoarde. And if your business model makes hoarding talent impossible, then I'm afraid you will probably always be scrabbling around in the dust trying to find the least nasty compromise, and then paying dearly for it later.

Posted 9 years, 9 months ago on September 8, 2008