jump to navigation

Programmers, Productivity, and Pay December 27, 2009

Posted by Peter Varhol in Software development, Strategy.

John Cook, Tyler Cowen (Tyler Cowen?), and James Kwak have all offered opinions in recent days on why programmers who are ten times more productive than other programmers aren’t paid ten times more, as, more or less, salespeople are.  Cowen, as is his bent, approaches the problem as an economics one, while Cook and Kwak look more at the environment in which programmers work.  I think both touch on some good points, but miss the larger picture.

To backtrack a little, Ed Yourdon, citing research I believe done by Capers Jones, noted in his book The Decline and Fall of the American Programmer that the most productive programmers were an order of magnitude better than the least productive.  While it is a fool’s errand to attempt any substantive measurement of programmer productivity, an observer of programmers at work over a period of time would say that there is a big difference in skill between the best and worst.

In any industry, there is always a dichotomy between those who make the product and those who sell it.  For those senior executives responsible for revenue and costs, the sales operation is directly responsible for the revenue side of that equation.  Making the product to sell will always, regrettably, be considered a cost.

Sure, management knows it needs both, but when push comes to shove, you can sell inventory.  Or last year’s products.  Or promises for future products.  And those making the product can be subject to cuts, while the sales side can receive further incentives to enhance revenues.

In software, it’s even easier.  The thing that we make only has to be made once.  While that process is long and complex, additional copies of the completed software are available for the cost of a download.  Even in the past, when we made CDs and put them into boxes, the cost of additional copies was only a couple of dollars apiece.

And it’s easy to sell last year’s software rather than invest in a new version.  There are customers that still need last year’s features, and good salespeople can gloss over the fact that the product hasn’t been enhanced in a year or more.  In short, it is possible to wring more revenue out of software without spending a dime to improve it.

What does this have to do with the pay differential between the best and worst? We all know there are the best and worst of every field.  Those responsible for revenues and cost in a company know it too.  But because programmers are a cost, not a source of revenue (yes, I know it’s not logical, but that’s the thought process), paying the best programmers at a similar level to star sales professionals simply increases the cost, but because programmers don’t close deals, they don’t directly generate revenue.



1. Ed Yourdon - December 27, 2009

Actually, the first published research showing the differences between programmers was in the January 1968 issue of “Communications of the ACM,” in an article by Sackman, Erickson, and Grant (I forgot the title of the article, but it was something about comparing the productivity differences associated with online programming vs. offline programming, which was an area of great debate in those ancient times).

The authors gave the same programming assignment to a couple dozen programmers (a scenario that almost never occurs in the “real world”) and measured not only how long it took them to finish, but also the CPU run-time and RAM memory requirements of the working programs. The best programmers finished their assignment approximately 28 times sooner (not 28%, but 2,800%) than the slowest ones, and the best programmers produced results that were approximately 10X more efficient, in terms of CPU/memory requirements.

Barry Boehm conducted some research showing that these extreme differences tended to “average out” somewhat when individuals were aggregated into teams — i.e., the best teams were approximately 4 times more productive than the worst teams…

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: