Understanding the Professional Programmer

Jul 4th, 2002 by Tony in * commentary, * one-offs

This is quite an old book now by Jerry Weinberg (1982), and it has dated quite significantly – more so than Mythical Man Month which is a few years older.

Most of the programmers in this world were writing COBOL, PL/1 or raw assembler. And so many of the examples he gives don’t really translate well. (Although the extended example in “Say what you mean and mean what you say” could easily be translated in Java and show up in an Extreme Programming book). And cost analyses on the best way to teach computer programming when machine time was so expensive seem to come from an eerily distant past now.

But once we get into the middle of the book, much of the material tends more towards the “psychology” of programmers, which hasn’t really dated. And there are a few nice ideas that still haven’t really caught on. I particularly liked his idea that computer languages should be taught in pairs, with all the examples and exercises given in both languages. With natural languages the most difficult to learn is always the second. A third, fourth or even tenth language is much easier. The same seems to be true of computer languages also. So, teach people to be bilingual from the outset. Let them see how different languages would approach the same problem.

Although the book is on the surface aimed at programming managers, most of the articles really seem to be aimed at programmers who need to learn how to deal with programming managers. And, if anything, the problems he points out with the gap between programmers and managers seem to have widened rather than closed. As Weinberg writes: Code is to programming managers what dirty dishes are to a headwaiter. Once you have graduated from the garbage heap, you never touch the garbage again – even in jest.

The “Cost of Inadequate Software Testing Infrastructure” paper I linked to a few days ago had a chart that showed that the percentage of project time given to actually writing code had dropped significantly in the last few decades as more and more time went in to specifications, analysis, design etc. I doubt most managers read any more of the actual code that gets produced these days.

This is a book that treats coding seriously. Weinberg argues that contrary to popular opinion, now as much as then, coding is a valid profession, and a skill that takes years to master, not days or weeks. This idea has obviously had a resurgence recently with books such as Pete Breen’s Software Craftmanship, but it’s interesting to go back twenty years and see the articles that were being written then.

Probably not worth going out of your way to find, but worth a skim through if you find a copy.

No Comments