Print

Code Watch: The myth of 10X superprogrammers



Larry O Brien
Email
January 3, 2012 —  (Page 1 of 2)
The recent Forbes article "The Rise of Developernomics" by Venkatesh Rao promotes the idea that excellent developers are an order of magnitude more productive than median programmers, while terrible developers are an order of magnitude worse. This is a widely held belief in the developer community, but is almost certainly a myth. The few studies that have tried to quantify programmer talent have often used students as subjects, have almost always been tests of relatively short-duration programming tasks, and support order-of-magnitude differences between best and worst, not best and median.

I've discussed this before
, but it's important to revisit since the claim has such radical implications. A 10X factor in productivity is an extraordinary claim: It's one day replacing a two-week sprint; it's five weeks of work substituting for a year. If such a superprogrammer gets a cup of coffee, it's as if a perfectly competent coworker spent an hour off-task. And the claim is not that such advantages occur in specific tasks or contexts, but that such advantages are inherent in the superprogrammer and extend day-to-day, month-to-month, year-to-year.

It is like the difference between a regular doctor and Dr. House, or between a precinct detective and Sherlock Holmes. If "10X" is really the way it is, the industry must adapt its teams and development processes around these superprogrammers. It implies that hiring is extraordinarily important: Companies must avoid hiring people who are "just" 2X or 3X better than median, because a 10Xer might walk in the door any time.

It implies that experience with tools or libraries is irrelevant: After the week or so it takes a superprogrammer to fully master a new programming platform, their superiority will emerge again. It implies that teams should adopt the Chief Programmer Team model, in which the superprogrammer is not simply first among peers but the centerpiece of all development. It implies that median software development salaries should stabilize or decrease over time, since median programmers are commodities, while the comings and goings of superprogrammers drive productivity. Investing in training programmers is pointless, as their overall contribution is minimal. This doesn't seem to accurately describe, to me, the software development industry.



Related Search Term(s): superprogrammers

Pages 1 2 


Share this link: http://sdt.bz/36247
 


Comments


01/13/2012 06:04:20 AM EST

"A 10X factor in productivity is an extraordinary claim: It's one day replacing a two-week sprint" This statement ignores that the real cost of a piece of software does not lie in its initial creation but is the total of writing the code, removing any bugs and then maintaining it for years to come. Here the superstar (if he really is one) shines by creating code that has less bugs and which maintenance and enhancement in the future is significant cheaper. There is a reason why this myth is so common in the development industry - we see it every day! And the better of us also see the damage done to projects by suboptimal code, when we are called in to remove the smells left behind.

United KingdomIngo


01/13/2012 06:54:20 AM EST

your assumption that excellence in programming is 10x faster typing is wrong. 10x better programmmer can handle 10x harder problems. it doesn't matter how much "median" developers you will have - event thousands of them could not tackle problems that hard. thats the point.

United Statesrv


01/13/2012 07:46:04 AM EST

Let me disagree with you but I think you did not fully understand the superprogrammer concept. A superprogrammer is not doing a task 10 times faster. He is doing the task maybe 2 or 3 times faster. The difference lies in the long term consideration : a task done by a superprogrammer does involve 5 times less maintenance. I think this is like Velocity in Scrum : until you see it, you do not believe it.

Francechris


01/13/2012 08:21:08 AM EST

The 10x productivity claim doesn't hold true for normal day to day coding. There all the other factors you correctly named are all together more important. But there are (quite often) times for architectural and design decisions and here are factors of 10 or even 100 in the long running effects quite common. So in fact a team with a "10-timer" on board can be 10 times as efficient on avarage as a team with "only" "1-timers".

GermanyOle


01/13/2012 08:41:05 AM EST

Most of my real life, long term experience shows that, the factor is much greater than 10x. It is hard to measure because average programmer just can't cope with harder tasks. Eventually it is not important, because 100x better programmers will not lead to 10x better software. Average programmer will produce code that is not maintainable in long term, it will break, contain bugs and most probably will not allow software to scale and will be hard to extend. Average programmers create problems in long term that they can't solve. On the other hand good programmer can solve the problem (how you compare 0 to 1 productivity?), best programmers work does not lead to such problems at all. So how will you compare that? Best programmers create solutions that average programmers reuse and because of one person work, 50 programmers are more productive - you did not considered that also. In defence of your claim - programming skills are not that important in huge amount of software. People got used to bugs, bug fixes, missed schedules. But the product, not the code, must be done right. If something gives possibilities that are absent elsewhere we will use it, even though it contains bugs and eventually we will stuck to it (Windows, Facebook, Sap). *With exception of Military and Medicine. Most of today's successful software were rewritten at least once ;) So it is more important to have good process (to get good requirements ) than good developers. If you have good requirements only then you will profit from good developers. Each company need a few good/best programmers, but most task are simple and boring for them, so it is impossible and harmful to hire just the best developers.

PolandKrzysiek


01/13/2012 10:13:43 AM EST

There are short-term 10x differences when one developer knows the business logic and the other does not, or knows the tool set which is new to the other. Long-term, there may be 10x differences between the best and the median, but people at the top are relatively few. If you try to hire two top programmers to replace 20 median programmers, you will never get that 10x advantage because of the length of time it will take those two best programmers to master all the tool sets and the business knowledge for ten times as many application areas -- and this information is always changing. Top programmers may be much more effective at coding, but not necessarily so much more efficient at learning the business areas or even the various tool sets. And the typical employer has so many different tool sets and application areas that a large number of developers are required to specialize -- too many specializations for one or two super-programmers to cover all of them.

United Statesfsilber


01/13/2012 11:04:45 AM EST

The myth of the 10x programmer will not die. Another myth that won't die is that there is a shortage of programmers. Both myths are baseless, yet they live on.

United StatesDean Schulze


01/13/2012 01:22:38 PM EST

I have been in software development since the 70's. I agree with the generalization that there are software developers that produce one or two magnitudes of work more than other software developers. We should be identifying them and optimizing our organizations around them.

United StatesMc


01/13/2012 03:17:32 PM EST

10x super-programmer is only seen in movies. You are watching to much scifi movie. I think the reason you created this article is because you are just voicing out your wanting of salary increase ;)

Russia (Russian Federation)eastprogrammer


01/14/2012 03:29:32 PM EST

I think there is something missing here: whty do you speak about programmers? In all areas we see normal people, poor performer and brilliant performers. And this is not just an increase in speed you'll see. But an increase in quality and the usefullness of the result. Think about Einstein, Mozart and other genius. They are the visible part of the iceberg. But there are many other out there. And having them working for you is an invaluable asset. What the article is saying is that software become increasely important. Sucessfull companies manage to take most of the market... Other are left with small margins, poor results and depending of good will of the winner. Think of music industry? Apple dominate it. Think of web search? Google has it. Think of eCommerce? Amazon master it. Think of of PDA, GPS, normal phones... All are obsoletes. All replaced by smartphone with in particular a very innovative product: the iphone. Think of admistration work? Before you needed 200 hundred person to do the same work. Today you can do more with 10 persons and a good software. Think of classic mail? Will disappear slowly and will be just used to deliver good to your home... Many time is not used in the enterprise expect for required official documents. This is not finished. Google has prototype of self driving cars. IBM make computer that win at geopardy and make great advence in data mining and artificial intelligence. Amazon master cloud computing. Software is revolutionning the world like eletricity did it before in its time. Of course you don't need only the best performers to win, you need lot of people to make the new world. But to shine in this new world, you'll better have the genius on your side... That a lot easier... Just imagine what would have happened if Einstein has helped the german to make the atomic bomb instead of helping convincing the US to do so? Well the future is exactly like this. At the end of war (here software war), on what side do you want to be?

United StatesNicolas


01/16/2012 12:50:56 PM EST

"...but is almost certainly a myth" Oh, and Picasso was a house painter. What caught my attention in this article was the lack of documented support for your remark. OTOH, the 10X proposition is supported by scholarly works published and available for anyone to read if they wish. To help you get started, run a web search for "Capers Jones". In the decade past a great many organizations have bought into the misguided proposition that process trumps people and tools overcome incompetence. These ideas have been packaged in all sorts of nice, polite terms. The impact of these ideas has been largely negative in terms of quality of product, time to market and meeting customer needs. In addition, it casts a poor light on important tools. People are the essential element in art, literature, sports... and software engineering. Design matters, and design aesthetic is in desperately short supply. Engaging the right people *is* extraordinarily important. Keeping them engaged is harder yet.

United StatesMark Phillips


01/23/2012 05:49:12 PM EST

To those commenters who say that 10x doesn't actually _mean_ 10x but means "better than average that pays off over time" (because it's brilliant, bug-free, etc.) -- That's not what the proponents claim. They claim (dubiously) that a programmer's productivity can be assigned a metric and they claim (wrongly) that there are studies that show some programmers are 10x better than median on this metric. That's not what the studies show (and to those who think there are good metrics supporting 10x, I direct you to http://morendil.github.com/folklore.html )

United StatesLarry O'Brien


close
NEXT ARTICLE
Letters to the Editor: Give superprogrammers their due
Readers disagreed with Larry O’Brien’s assertion that 10X superprogrammers are a myth Read More...
 
 
 




News on Monday  more>>
Android Developer News  more>>
SharePoint Tech Report  more>>
Big Data TechReport  more>>

   
 
 

 


Download Current Issue
APRIL 2014 PDF ISSUE

Need Back Issues?
DOWNLOAD HERE

Want to subscribe?