Exceptional programmers are 100 times better than average ones

… at least, this is a claim made by Mark Zuckerberg of Facebook:

“Someone who is exceptional in their role is not just a little better than someone who is pretty good,” he argued when asked why he was willing to pay $47 million to acquire FriendFeed, a price that translated to about $4 million per employee. “They are 100 times better.”

The source of this quote is from a blog post here : Great People Are Overrated which actually argues the counter point – that a solid team is more important than a few superstars. The comments are actually more enlightening than the article itself and largely agree with Zuckerberg’s position – I suggest reading through some of them.

As a total aside, the comments also lead me to this article about a book I’ve added to my must read list – The Mythical Man Month – which talks about various software project management issues some of which relate to the above. The Wikipedia article linked to has a good summary of the key points (not least the 9 women can’t make 1 baby in a month).

So, Superstars or Average Joes?

The answer probably lies somewhere in the middle. You need the superstars to provide vision, solve problems and create genuinely innovative and effective solutions. You need the Joes to implement, fix, maintain – do the stuff that can waste a superstars energy and focus. This also gives the Joes a chance to develop, learn – and potentially become stars themselves (the caveat being that there will always be Joes who stay Joes – and perhaps these should be fired if you want to truly excel as an organisation). Also, an organisation once it reaches a certain size needs structure, process and systems to operate without collapsing, and this is a Joe job, not a Superstar one.

Something that perhaps isn’t drawn out by the article is the issue of Domains of stardom. Superstars will invariably be able to grasp the concepts of and even have the capacity to excel in other domains that they turn their focus to, but tend to be Superstars in their own Domain. Loathe that I am to use sports analogies, a Superstar Football player will probably make a pretty good Rugby player – but not a Superstar – until they decide that’s what they want to do and focus exclusively on that. In my own little world, I’d happily state I’m an SSIS Star – not the best – but outclassing most. However I’m an average SSAS guy, and wouldn’t want to trade MDX punches with the likes of Boyan Penev.

The reason I draw out the Domain issue is one of Ego. People who are very good at one thing often get confused and think their Domain expertise means they are qualified to speak out on other issues. For example witness Linus Pauling’s absurd position on Vitamin C – a medical issue – upon which as a great physicist he was utterly unqualified to make comment.

A key message to take away is that you need Superstars to succeed and excel. A team of Joes will never make your organisation great, just functional.

What is the ideal Superstar : Average Joe ratio?

The above formula will be weighted by the size of your organisation.  In a small outfit you need to be made up of near 100% greatness so that you can drive, expand and succeed. In a bigger one, you are compelled by supply to bring on Joes purely because there aren’t enough Stars around, and no Superstar wants do to donkeywork. Besides, there is donkeywork to be done and you don’t want to waste your best people on that. You can however multiply the value of the Superstars by getting them to create solutions and solve problems but not get slowed down by the detail of actual implementation.

Superstars grow and drive your business. Joes maintain it. Is growth worth “X” times more than maintenance? To answer that question in terms of how business evaluates that simply ask yourself why do the sales people get paid more than a grunt developer…

2 thoughts on “Exceptional programmers are 100 times better than average ones

  1. It gets harder and harder to maintain the star-to-joe ratio as you grow. If you employ 200k IT professionals you may have 100 stars and 199900 joes, while if you are in a 100 employee business it is much more likely to have a significant percentage of “stars”.

    Another problem I’ve noticed is that “stars” tend to get promoted out of their strengths. Unfortunately, if you are an exceptional in your job the opportunities for growth in your tech expertise in a company are limited since companies give higher rewards on management (even people management) than on great specialists. Not only in monetary terms, but also when it comes to freedoms and responsibilities – your joe-type manager, which I see everywhere these days, can do as he pleases with a techie “star”, which in my opinion is just plain stupid :)

    My 5c..

  2. Hi Boyan – I do remember seeing in the comments a point related to how star techies are treated. A good lawyer can command significantly higher rates that a workaday one. However tech resources are still regarded as a commodity and so there is a commodity price range for a skillset – possibly part of the reason Offshoring has worked. To many project managers 100 coders are 100 coders. Variation in skill and productivity is not taken into account often – though I have seen a PM vary effort by skill level, which was interesting.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>