Why great programmers don’t make as much money as soccer stars?
In a recent blog article, Soon Hui considered the different in pay scale between highly skilled developers and stars in other fields, such as music and sports.
It is not hard to understand why they can’t do as much as rock stars. The main reason is that programmers are not able to run the show alone. Programmers have to work in a team if they really want to do anything of moderately large scale. However, this is not the whole reason for the comparatively low pay scale, because there is another category of stars that make millions and need to work on teams to make things happen: soccer players.
In the world of soccer, however, the difference is that the quality of the team is highly influenced by quality of its best player (being a Brazilian, I am very familiar with how soccer teams work). It is frequently the case that, in a competitive league, just having the player won’t be enough to win the title, but it will make a heck of a difference. You can certainly see where a very talented soccer player is, even if he is playing in the worst team in the world.
In the other hand, there is no magic that will make a team with bad developers to deliver good products. Even if the best programmer in the world is in a team with other 10 average developers, he won’t be able to cope with the amount of bad code their pairs will throw at the project. In soccer, the highly skilled player will make good plays no matter what. In software, the highly skilled developer won’t be able to move, under the weight of tons of bad code. There is evidence that the quality of software produced by a team is highly influenced by the second worst programmer, not by the best one.
In a situation where average developers are involved, having a super star developer doesn’t help. What solves is having a skilled manager, that will be able control by whatever means the damage that each member of the team is inflicting in the final product. That is the (sad) tale of software development in more than 90% of programming shops. It is not a mistery, then, that being a software manager, especially a good one, pays much more on average than being a good developer.
Clearly, it doesn’t need to be like this. One could have a team of stars, each one making much more than average developers (think of the equivalent to the Dream Team). In reality, though, there is a reversion to the mean in industrial activities like software development. A Dream Team would need to produce more and more software to keep up with the demand, and this would lead to the necessity of hiring less skilled developers. And you can see where this goes…
Similar Posts:
About the Author
Carlos Oliveira holds a PhD in Systems Engineering and Optimization from University of Florida. He works as a software engineer, with more than 10 years of experience in developing high performance, commercial and scientific applications in C++, Java, and Objective-C. His most Recent Book is Practical C++ Financial Programming.
You write:
“Even if the best programmer in the world is in a team with other 10 average developers, he won’t be able to cope…
“That is the (sad) tale of software development in more than 90% of programming shops. It is not a mystery, then, that being a software manager, especially a good one, pays much more on average than being a good developer.”
Let me suggest another hypothesis. The second richest man in the world, much richer than any soccer player, is a programmer. I’m acquainted with a half-dozen or so programmers who have made hundreds of millions of dollars by programming — some have made more than a billion. I’ve met one guy who worked on his own for about 20 years, on a team by himself, and retired with substantial savings in one of the most expensive cities in the world, Menlo Park. (Peter Deutsch; none of this is a secret. I have no idea how much money he actually has.)
You meet these guys *all the time* in Silicon Valley, Seattle (where they work for Microsoft), and New York (where they work for investment banks, or did until a few weeks ago). Generally they aren’t into flashy cars, big mansions, wild cocaine-filled parties, and trophy wives, so it usually isn’t obvious that they have a lot of money.
So I suggest that perhaps your premise is wrong. Programmers *do* make as much money as soccer stars and rock stars. You just haven’t noticed because you live in Brazil, which is a wonderful country with fantastic soccer teams, intelligent and friendly people, and enormous intellectual resources that unaccountably hasn’t had very many superstar programmers yet. Maybe they moved to Silicon Valley to work with the other superstar programmers from around the world, and in the 1970s and 1980s it was really hard to get good hardware in Brazil, so you kind of lost a generation of programmers. (Still, how much do you think Red Hat is paying Marcelo Tosatti and Alexandre Oliva? How much do you think they have turned down from IBM and Google?)
It’s true that nobody is going to make a billion dollars programming on a team full of bad programmers, but nobody is going to make a million dollars a year playing soccer in the Premier Development League either. In both cases the most talented are going to move on to someplace better, not just so they can get paid more (although they do, because the companies they go to work for make a lot more money per employee), but so they will have a chance to work with better collaborators.
Which means that in the 90% of programming shops you talk about above, you will never meet them.
But they’re making a lot more than your manager is. One acquaintance of mine turned down job offers to go work for Google (as a programmer) because their offer of US$120 000 a year was a 40% pay cut from what he was getting paid at an investment bank. He made several million dollars the next year (again, I don’t know exactly how much), selling a site he had built in his spare time, over the previous five years or so, to another company.
By Kragen Javier Sitaker on Dec 5, 2008
Second to all the great points made by Kragen is that programmers aren’t limited to having 11 players able to code at the same time.
With no constraint on team size you’ll find most teams grow much larger than 11 people, and so the skill can matter less.
But its absolutely not true that a rock star (I hate that term) programmer can’t change a team – he can and does in many ways. He can set standards, he can write things that check the standards, he can review and comment on bad code, fix bad code. He will lead the team technically and make the big decisions and guide the other decisions. Programmers learn from each other, having someone good is a source of knowledge and wisdom.
By Paul Keeble on Dec 5, 2008
@Kragen, I am very aware that a lot of money has been made by programmers. My point, however, is that they didn’t do it by their own programming efforts. They employed other great people to do the heavy lifting, while focusing on the higher level technology aspects. That is what I mean by being a manager. I my opinion, Bill Gates is a great visionary that managed programmers to achieve his vision.
By coliveira on Dec 6, 2008
huh…i wonder why public school teacher get paid even less than the worst programmer on the worst team?
must be because education isn’t very important and they work on such large team…..wait a minute.
By nusswag on Dec 7, 2008