The title of this book, Understanding the Professional Programmer, is slightly misleading. It might make you think that the book is aimed at software development managers, intended to help them make sense of the strange people called programmers who work for them. While software development managers might enjoy reading this book, it is really aimed at programmers themselves. To quote the author from the Preface, the book "is intended as an exercise in self-examination for the professional programmer."
This is probably my favorite book on the subject of software development. It is definitely my favorite of Weinberg's many excellent books. I return to this book again and again, and find something new every time. Understanding the Professional Programmer is organized as a collection of essays. The essays are about being a professional software developer. Weinberg is a favorite of mine, and when I write I aspire to emulate Weinberg's friendly, insightful, non-judgmental, irreverent, and witty style. (That's a tall order, given that Weinberg has been involved with computer programming since the mid 1950's--before the term "computer programmer" had even been coined.)
The book is broken up into seven sections, and the titles of these sections are a great start for communicating what it is about:
I. What Questions Are Important to the Professional?
II. How do Professionals Get That Way?
III. Why Do Programmers Behave the Way They Do?
IV. Is it Possible to Think More Effectively?
V. Why Doesn't Everyone Understand Me?
VI. How Can I Survive in a Bureaucracy?
VII. Where is the Programming Profession Going Next?
Each of these sections contain several essays, and most of the essays are short enough to be easily read in one sitting. Weinberg loves to tell stories, and he uses stories and anecdotes to illustrate most of his points, with the points themselves often expressed as aphorisms. Weinberg's gift is inspiring thinking that is outside of one's normal patterns of thought. Sometimes this is done in a subtle way, with ideas that will creep under your skin and not hit you until days later. Other times, something he will say will hit you right between the eyes, and you will have to put the book down for a minute to contemplate.
With all of this hyperbole, I am in danger of spoiling this book by raising expectations too high, so I am going to quit while I'm ahead. Let me close by saying that this may not be the book for you right now. I think that during a professional developer's career, there are times when one is focused exclusively on technical issues. There's nothing wrong with that. There are languages to be learned, techniques to be mastered. But many developers will reach a point where they desire look beyond the purely technical concerns, to look inward at themselves, and outward at the environments in which they work and the problems they are trying to solve. This is where Gerald Weinberg's writings come in, and Understanding the Professional Programmer is a great place to start.
One final comment, just so nobody feels misled: this book was first published in 1982--twenty years ago at the time I am writing this review--and many of the essays were written in the late 1970's. One reviewer on Amazon felt this to be a strike against the book. I understand this view, but I disagree. This is not a book about technology; it is a book about people and ideas. The themes are universal, and I predict that software developers another twenty years from now will still be reading Understanding the Professional Programmer.
- Since this review was first written, Mr. Weinberg and the publisher, Dorset House, were generous enough to allows us to publish this excerpt from Understanding the Professional Programmer called ""Personal Chemistry and the Healthy Body."
- Buy this book on Amazon.com
- Author Gerald Weinberg's web site
- A Bio of Gerald Weinberg
- Another great Weinberg book, Becoming a Technical Leader
- A list of all of Weinberg's in print books
- The SHAPE Forum, a subscription-only discussion forum, moderated every day by Weinberg himself. Highly recommened.