It’s been four years since – sadly – Gerald M. “Jerry” Weinberg passed away. Ever since then, I struggled with some public mourning about him, until recently I had just the right idea. On a weekly basis, I will publish a review of a book I read that Jerry either wrote himself or is about some of his work. Today, I picked the classic The Psychology of Computer Programming in its Silver Anniversary Edition from 1998, the original being published in 1971.
The Psychology of Computer Programming is another of Jerry’s books that I hardly remember anything about. So, let me go through the table of contents and maybe skim through the book. I might be ending up picking references here again.
The book is split up into four major parts (if you don’t count the epilogue as its own fifth part):
Part One: Programming as human performance is separated into the chapter Reading Programs, What makes a good programmer, and How can we study Programming. Part Two: Programming as a social activity is split up into chapters on The Programming Group, The Programming Team, and the Programming Project. Part Three: Programming as an individual activity consists of chapters on Variation in the programming task, Personality factors, Intelligence or problem-solving ability, and Motivation, Training, and Experience. Finally, Part Four: Programming Tools has three chapters Programming Languages, Some principles for programming language design, and Other Programming Tools.
The book initially was intended to serve as a basis for a training course, or at least did not forbid it. You find questions for reflection at the end of every chapter. My 25th-anniversary edition also has additional notes 25 years later on each of the chapters, including the foreword.
The beginning of the first chapter directly catches my eye:
Some years ago, when COBOL was the great white programming hope, one heard much talk of the possibility of executives being able to read programs. With the perspective of time, we can see that this claim was merely intended to attract the funds of executives who hoped to free themselves from bondage to their programmers.
Oh, boy, those lines aged pretty well. Or not so much, depending on what your current hopes are.
From the outset, the title of the book is pretty self-explanatory. Since managers could not read code on their own, they had to understand how programmers tick. Thus Jerry wrote about the Psychology of Computer Programming for managers to make better decisions for their programming staff. Personally, this makes me wonder why I rarely encounter a manager that read some of these lines in the half-century since Jerry published the original edition of this book – or who does not act as he read it.
Similarly, the questions sections at the end of each chapter are split up into two main categories: for managers, and for programmers. Just going through the table of contents, I recognize that Jerry wrote about all these before being largely influenced by Virginia Satir’s teachings later in his career. In essence, he captured his wisdom and experience here since having worked on programming teams and organizations since Project Mercury was set out to put a person into the Earth’s orbit, where he collected his first experiences as a programmer – and as a computer (one of his early job titles).
Throughout the book, you will likely encounter some programming languages, some facts, and some deep questions as well as a personal reflection by Jerry 25 years after having written the original, and how it stood up the test of time. While reading through the reflection on his original epilogue, I get a bit sad though:
[…] if you’d like to share some of your ideas, observations, or experiences with me, go to my website and send me e-mail. You should always be able to reach me from there, at least as long as I’m still around. Hopefully, that will be long enough for me to write a Golden Anniversary Edition of The Psychology of Computer Programming.
Sadly, it wasn’t long enough for the Golden Anniversary Edition, but I recall sending Jerry many e-mails over the years that he was still around. Matt Heusser once put it to me this way:
It’s always amazing to get e-mail from Jerry.
Indeed, Matt, it always was something special.