Why programmers are not paid in proportion to their productivity

The most productive programmers are orders of magnitude more productive than average programmers. But salaries usually fall within a fairly small range in any company. Even across the entire profession, salaries don’t vary that much. If some programmers are 10x more productive than others, why aren’t they paid 10x as much?

Joel Spolsky gave a couple answers to this question in his most recent podcast. First, programmer productivity varies tremendously across the profession, but it may not vary so much within a given company. Someone who is 10x more productive than his colleagues is likely to leave, either to work with other very talented programmers or to start his own business. Second, extreme productivity may not be obvious. This post elaborates on this second reason.

How can someone be 10x more productive than his peers without being noticed? In some professions such a difference would be obvious. A salesman who sells 10x as much as his peers will be noticed, and compensated accordingly. Sales are easy to measure, and some salesmen make orders of magnitude more money than others. If a bricklayer were 10x more productive than his peers this would be obvious too, but it doesn’t happen: the best bricklayers cannot lay 10x as much brick as average bricklayers. Software output cannot be measured as easily as dollars or bricks. The best programmers do not write 10x as many lines of code and they certainly do not work 10x longer hours.

Programmers are most effective when they avoid writing code. They may realize the problem they’re being asked to solve doesn’t need to be solved, that the client doesn’t actually want what they’re asking for. They may know where to find reusable or re-editable code that solves their problem. They may cheat. But just when they are being their most productive, nobody says “Wow! You were just 100x more productive than if you’d done this the hard way. You deserve a raise.” At best they say “Good idea!” and go on.  It may take a while to realize that someone routinely comes up with such time-saving insights. Or to put it negatively, it may take a long time to realize that others are programming with sound and fury but producing nothing.

The romantic image of an über-programmer is someone who fires up Emacs, types like a machine gun, and delivers a flawless final product from scratch. A more accurate image would be someone who stares quietly into space for a few minutes and then says “Hmm. I think I’ve seen something like this before.”

Related posts:

Writes large correct programs
Experienced programmers and lines of code

Tagged with: , ,
Posted in Business, Software development
103 comments on “Why programmers are not paid in proportion to their productivity
  1. Grant says:

    It may be “hard to define” a productive programmer, but many of us know it when we see it. One difficulty, is that those who possess a lower level of talent and technical insight are sometimes unable to correctly evaluate the relative productivity, or value, of the highest performers. As Sir Arthur Conan Doyle put it: “Mediocrity knows nothing higher than itself. Talent instantly recognizes genius.”

  2. Joel Horo says:

    Reminds me of a great post by an ex-colleague that illustrates what you say: http://www.uncarved.com/blog/pay_by_results.mrk

  3. Now that you’re working for yourself this should no longer be a problem.

    https://twitter.com/isomorphisms/status/310121276280811520

    (I think I pointed before that self-employed EEUUses have 5 times the wealth of salaried. The chart in the above indicates it’s probably people like you who drive up that number.)

33 Pings/Trackbacks for "Why programmers are not paid in proportion to their productivity"
  1. [...] then says ‘Hmm. I think I’ve seen something like this before’” (John D. Cook) [Why programmers are not paid in proportion to their productivity]. Managers love to reward according to measure. But code productivity is hard, if not impossible, [...]

  2. [...] comment » Tyler Cowen asks why pay across software programmers is not more unequal. He cites John Cook, who argues that differences in programmer productivity are difficult to identify and measure. [...]

  3. [...] Cowen asks why pay across software programmers is not more unequal. He cites John Cook, who argues that differences in programmer productivity are difficult to identify and measure. [...]

  4. [...] Why programmers are not paid in proportion to their productivity — The Endeavour [...]

  5. [...] Why programmers are not paid in proportion to their productivity — The Endeavour.  Absolutely true. [...]

  6. [...] | Posted by Chill on 25 Dec 2009 at 01:48 pm | Why programmers and not paid in proportion to their productivity. [...]

  7. [...] Why programmers are not paid in proportion to their productivity — The Endeavour (tags: programming productivity business salary career blog software development) [...]

  8. [...] 10x programmer doesn’t exist until they do. I agree with John Cook that measuring productivity is hard, but we do have a way. Call it Sherman’s Fairly Obvious Productivity Test: If our [...]

  9. [...] and Pay December 27, 2009 Posted by pvarhol in Software development, Strategy. trackback John Cook, Tyler Cowen (Tyler Cowen?), and James Kwak have all offered opinions in recent days on why [...]

  10. [...] Why programmers are not paid in proportion to their productivity at The Endeavour (via /.): A more accurate image [of a good programmer] would be someone who stares quietly into space for a few minutes and then says “Hmm. I think I’ve seen something like this before.” (tagged: essay blog productivity programmer dev programming ) [...]

  11. [...] Why programmers are not paid in proportion to their productivity – “If some programmers are 10x more productive than others, why aren’t they paid 10x as much?” [...]

  12. [...] Why programmers are not paid in proportion to their productivity The romantic image of an über-programmer is someone who fires up Emacs, types like a machine gun, and delivers a flawless final product from scratch. A more accurate image would be someone who stares quietly into space for a few minutes and then says “Hmm. I think I’ve seen something like this before.” [...]

  13. [...] times as productive. OK, that may be wrong. It probably originated with Fred Brooks, and has been debated to death. But it seems fairly well accepted that the best people contribute more than they are [...]

  14. [...] times as productive. OK, that may be wrong. It probably originated with Fred Brooks, and has been debated to death. But it seems fairly well accepted that the best people contribute more than they are [...]

  15. [...] Why programmers are not paid in proportion to their productivity — The Endeavour – The romantic image of an über-programmer is someone who fires up Emacs, types like a machine gun, and delivers a flawless final product from scratch. A more accurate image would be someone who stares quietly into space for a few minutes and then says “Hmm. I think I’ve seen something like this before.” [...]

  16. [...] thing that contributes to that mentality is that programmers are not paid in proportion to their productivity, or their skill level.  At best, they are paid based on their ability to negotiate.  At worst, [...]

  17. [...] Why programmers are not paid in proportion to their productivity Experienced programmers and lines of code Writes large, correct programs Stupidity scales ? X [...]

  18. [...] Why programmers are not paid in proportion to their productivity [...]

  19. [...] viaWhy programmers are not paid in proportion to their productivity — The Endeavour. Kategorien Uncategorized LikeSei der Erste, dem dieser post gefällt. [...]

  20. [...] D. Cook: Why programmers are not paid in proportion to their productivity (via Hacker News) Programmers are most effective when they avoid writing code. They may realize the [...]

  21. [...] 直到昨天,讀了 John D. Cook (強‧庫克) 的這篇文章:「Why programmers are not paid in proportion to their productivity」,才給我了一個天大的啟發。 [...]

  22. [...] the time to write about how to do great research. I’m thinking of people like Daniel Lemire, John D. Cook, Terence Tao, Matt Might, Matt Welsh, Michael Nielsen, John Regehr, Rob J. Hyndman, and many others [...]

  23. [...] D. Cooke“Programmers are most effective when they avoid writing code.”- John D. CookBlog Post Posted June 23rd, 2011 – Permalink Categories: Geek Tags: Productivity, Programming, Quotes You can [...]

  24. [...] Why programmers are not paid in proportion to their productivity — The Endeavour [...]

  25. [...] excellent article by John D. Cook on why being a quick and efficient code writer does not necessarily make you a great programmer. [...]

  26. [...] http://www.johndcook.com/blog/2009/12/23/why-programmers-are-not-paid-in-proportion-to-their-product… This entry was posted in Links. Bookmark the permalink. ← Writes large correct programs Voicemail hacking and the ‘phone hacking’ scandal → LikeBe the first to like this post. [...]

  27. [...] I clicked on the link.  And instead of a nice article, I got the following message [...]

  28. [...] post Why programmers are not paid in proportion to their productivity has been getting a lot of buzz today. One of the arguments in that post is that the most productive [...]

  29. [...] D. Cook said it well in a 2009 blog post: Programmers are most effective when they avoid writing [...]

  30. [...] typing, sweating profusely and throwing back coffee by the litre – recall this quotation by John D. Cook and breathe a sigh of relief: The romantic image of an über-programmer is someone who fires up [...]

  31. [...] post lets some gas out of so-called experts, but in other areas of life, you can clearly tell experts from non-experts (or not). We’ve argued over putting automobile racing in the non-sport [...]

  32. [...] På den rätt så anonyma bloggen awesomeness länkar Hising till John Cooks artikel om varför programmerare som är 10 gånger mer produktiva än sina kolleger inte får 10 gånger mer b…. [...]

  33. [...] D. Cook said it well in a 2009 blog [...]