The Nonsense of 10X developersNovember 20, 2014 - delivery, hiring
This week has seen some sort of peak nonsense when it comes to the concept of relative skill among programmers and how to recognise it. First there was this article in the New Yorker talking about “10X developers”, seemingly paraphrasing conversations from the comedy show “Silicon Valley”, though I fear they where actually real conversations. Then there was this article on how to evaluate programmers by open source contributions.
There is no such thing as a 10X developer (without a 10X environment)
Let’s first start with the mythical 10X developer: there is no such thing. Yes, relative skill and productivity between programmers can vary wildly, but I would posit that most of the difference you see between organisations ability to deliver software has nothing to do with how many “10X developers” you have hired and everything to do with culture. True, hiring smarter people will make a huge difference, but ultimately their performance will be more constrained by the environment they work in than the capacity of their brains. Again, hiring smart people may in gentle ways nudge the culture and environment, but it is no guarantee.
What good is it having 10 super-smart people if your organisation has fostered a culture where they are effectively held on a leash? There can only be “10X developers” in a 10X environment & culture.
Personal experience is anecdotal, but I have seen environments where a small team of mostly individually average developers have delivered incredible value in a few short months that would make the eyes water for most companies (one example of 3 developers, 3 months and a guaranteed return of $40 million comes to mind).
I have also seen environments where individually brilliant developers achieved absolutely nothing, zilch, nada over the course of several years.
The myth of the individually brilliant hero-developer who comes in and saves the day may be an appealing one, but it is largely just that: a myth. There are far easier ways to improve results than go looking for that one superhero developer that will save your company: how about taking the leash of the developers you already have? If they’re half decent, chances are your results will sky-rocket.
GitHub & Stack Overflow as a CV: Notoriety != skill
Let me put this another way:
Someone having a loud mouth does not imply what comes out of it is wisdom
Some one being notorious online, having a high profile in project X, talking at conference Y, or having answered 20000 questions on Stack Overflow says very little about whether what they do has any substance.
Popular open source projects must be good, right? Wrong. Any project under the Apache project is almost certain to be 90% God-awful code that will make you want to rip your eyes out. Spring Framework is undoubtedly one of the most popular software libraries/frameworks in the history of mankind, yet it is an abominable bag of fail and poor engineering.
Stack Overflow then? 75% of the answers are stupid at best, misleading at worst. Popularity tells you absolutely nothing about whether something has quality.
Furthermore, many developers use GitHub as a repository for personal experiments, learning projects and hacks (I do) - in these cases the code may not have any resemblance to the quality you might expect from someone writing code for a production system.
Another large group may only have negligible GitHub repos, or, shock-horror, no presence at all. There are a variety of reasons why people don’t have code in public: they may simply, God forbid, have a life and family - this is no reason to write them off as developers.
Another, and regretably extremely common reason for no online presence may be that their employer has very strict rules about ownership of Intellectual Property, prohibiting individuals from contributing to open source or other closed source projects without their employers explicit approval. I have seen more employment contracts that have clauses like this than not (yet another good reason to stay independent).
Hiring & culture is hard, get over it!
The concept of “GitHub & Stack Overflow as your CV” is a weak cop-out by those either unwilling to make time for properly screening new hires, unknowing on how to do so, or simply those who are subject to both of the above, but want to rationalise their hiring decisions with “but he/she has an extensive public profile, so they must be good!”. GitHub may show you an indication of someones ability, but you have to dig deep, have a look, and also ask the programmer what projects he has taken seriously and which ones are just “scratchpads.
Hiring is hard, there is a multitude of factors that go into it, and most organisations have a woefully poor hit-rate when it comes to successful hiring (despite their insistence on “only hiring the best”). There really are no quick fixes. There is certainly a “minimum bar” threshold that needs to be met in terms of skill, but beyond that, the success or failure of a hire has more to do with a multitude of interacting factors which can be unpredictable.
Whether someone is going to be a successful hire or not is often more a function of the organisation they are about to enter than the person themselves. Don’t try to look for heroes and scapegoats, or resort to voodoo hiring practices when most of the performance could potentially be unlocked simply by trusting people with the freedom to do their jobs.
Code Qualified wants to change recruitment, make it more human, transparent and get better, happier results for both programmers and employers alike. If you have thoughts and ideas on how to make that happen, please pitch in with comments below. Get on our email list to get more posts like this and exclusive content!