All posts by nathanen

Programmer Productivity

In an intriguing post entitled Fact and Folklore in Software Engineering, Laurent Bossavit addressed one of the most persistent memes in software development:

One debate (if it can be called that) which has gone on for too long without a satisfactory resolution concerns programmer productivity and the often quoted “observation” or “fact” that the best programmers are 10 times better than the worst. I will come back to the origins of this observation, but it isn’t quite the topic of this article.

As Bossavit rightly notes, this “fact” about programmer productivity has been circulating for decades, acquiring authority via constant repetition.   It is widely cited as evidence for the special genius of the so-called “super-programmer,” whose skills (innate, not acquired) are vastly superior to the merely average programmer.   In my chapters on “The ‘Black Art’ of Programming” and “Chess players, Musicians, and Mathematicians” I devote a fair bit of space to the ways in which the idea that good programmers were “born, not made” played out in the emerging labor market for computer programmers.  The goal was not, of course, to make any empirical claims about programmer performance, but rather to provide a historical context for a debate that has now spanned several decades.

What Bossavit does with this meme is interesting.  Borrowing from the work of Bruno Latour (one of the patron saints of my own academic discipline), he describes the ways in which data from a single, very limited study gradually become a well-established scientific “fact.”  The original study was undertaken at the Systems Development Corporation (SDC) by the personnel researchers Hal Sackman, W.J. Erickson, and E.E. Grant. It was published in 19681Sackman, Hal, W.J. Erickson, and E.E. Grant. “Exploratory Experimental Studies Comparing Online and Offline Programming Performance”. In: Communications of the ACM 11.1 (1968), pp. 3–11.

SDC was the Rand Corporation spin-off charged with developing the systems software for the SAGE air defense project.  Over the course of the late 1950s and early 1960s, SDC trained (or recruited) thousands of computer programmers.  As one point, SDC alone employed more than three-fifths of the programmers in the United States.  They had, therefore, a huge stake in understanding programming expertise.  “We trained the industry,” SDC executives were later fond of saying, and in many respects they were correct; for the next decade, at the very least, any programming department of any size was likely to contain at least two or three SDC alumni.

The 1968 study examined the performance of 12 (!?!) programmers split between two groups.  Each groups worked in a different environment (one “online”, or interactive, another in a simulated “offline” environment) on a debugging task.  It was not really a study of programmer performance per se, but among their other observations Sackman et al. noted “striking differences” in the performance of different  programmers.  The fastest programmers completed the task 28 times faster than the slowest programmers.  The performance of the most efficient program was, on average, 10 times better than that of the least efficient.  From this the authors concluded (borrowing from a familiar nursery rhyme) that “When a programmer is good, he is very, very good. But when he is bad, he is horrid.”  Despite the obvious limits of the 1968 study, the 10x figure quickly became part of the lore of of the industry.

  • 1
    Sackman, Hal, W.J. Erickson, and E.E. Grant. “Exploratory Experimental Studies Comparing Online and Offline Programming Performance”. In: Communications of the ACM 11.1 (1968), pp. 3–11.

The Programmer’s Coloring Book

In the mid-1960s, the computer industry journal Datamation published a series of parodies of the cult-classic The Executive Coloring Book.  The Executive Coloring book was itself a parody of the self-important man-in-the-grey-flannel-suit managerial culture of the period.

The cartoon above is from my favorite of the Datamation parodies, which was called The Programmer’s Coloring Book.  The book is full of funny little in-jokes for computer programmers, including “See the programming bug.   He is our friend.  Color him swell!  He gives us job security,”  and “Here is an outlook.  Color it bleak,”  and “Here is a flowchart.  It is usually wrong.”  I wish that I had been able to include more such images in the print-version of the book.   They really capture the flavor of what it was like to work as a programmer in the 1960s.

Here is the full version.

High Tech History

A good book review is hard to write.

Book reviews are a difficult genre. A good book review has to quickly and concisely summarize an author’s argument, situate that argument in a larger literature, and critically analyze its strengths and weaknesses. All a thousand words or so.

A really stellar book review will do all these things and will add additional insight to the original question that an author was trying to address.

In another serendipitous discover of another exceptionally smart blog, I discovered High Tech History, which is dedicated to exploring the connections between the history of technology and contemporary innovations. They liked my book, which was gratifying, but they also made some interesting connections that even I had not thought of. The most fun and interesting was to everyone’s favorite engineering anti-hero, Dilbert. Dilbert is the obvious analog to my 1960s computer boys. I should have made this connection myself.

Here is a selection from their review:

Ensmenger has crafted an orderly and well-organized argument that the dynamics of managing computer firms have often been as complex as the subject matter itself. Social interaction, management structures and gender have played pivotal roles in the development of computer technology, which defy the traditional notion that mathematics and computers are somehow above such dynamics. In this important way, The Computer Boys Take Over is learned, well-documented with citations, and often humorous – with numerous period cartoons and company advertisements that nicely support the text. Such a study of computing’s early and arguably most important years, is long overdue.

Check out the full review, and add High Tech History to your RSS feed reader and blogroll. A real gem of a site.

The Enlightened Economist

One of the nice things about online reviews is that, by tracking them back, you can discover new and interesting blogs. The latest in my list is The Enlightened Economist, where Diane Coyle reviews a prodigious range and number of books. Here is an excerpt from her review of The Computer Boys.

This interesting social history of computer programming, The Computer Boys Take Over by Nathan Ensmenger, is essentially a story of the struggle for power inside corporations. As I noted in my pre-view of the book, programming was initially thought of as a rather lowly support function, and it took some time for the designers of the massive early computers to realise that writing software was going to be a key function. When they did, out went the women programmers who were rather prominent in those early days (although some, such as Admiral Grace Hopper, remained influential), and in came the ‘boys’.

Reading The Enlightened Economist reminds me how many good books there are for me to read (and how few of these I am actually able to get around to — even as a professional academic). An impressive blog.