29 of 30 people found the following review helpful
5.0 out of 5 stars
An excellent insight into becoming a better programmer, 8 Jan 2001
I read this book fifteen years ago and it changed the way I wrote programs. I do not have any doubts that reading this book made me a better programmer, analyst and team leader. It made me think about what I was doing, why I was doing it and why the people around me were motivated to do what they did. It gave me insights into how to adjust my interactions with other people and thus get the best out of them with their willing cooperation.
Originally I borrowed it from the University library, but this recent reprint gave me the chance to buy my own copy and reread it with fifteen years more experience. It is still a very good read, in spite of the rather dry title. It is well written with clear arguments and Weinberg does not pull his punches.
The book was written in 1971 and as a result the technology is very dated with a lot of discussion about PL/1 and punched cards. However, the technology is not actually that important. This book is about people and they have not changed in the thirty years since this book was written. Many of the same situations outlined by Weinberg have happened to me and people I know. The questions for managers and programmers at the end of each chapter are still totally relevant. People are still making the same mistakes.
Each chapter contains a large number of anecdotes and an analysis of them. What did the people do wrong? What did they do right? What should they have done differently? Most importantly - what can you learn to stop yourself making the same mistakes? What warning signs should you be on the lookout for?
The book studies programming as a human activity, as a social activity and as an individual activity. There is also an additional section on programming tools and languages. Weinberg strongly promotes what he calls "ego-less programming" and recommends the creation of ego-less programming teams and groups. He offers strong evidence that groups structured in this fashion are significantly more successful than otherwise and my experience to date bears this out.
So, what do I dislike about this book? It contains a few diagrams and the reproduction quality of them is no better than "fair". Furthermore, although the epilogue gives some insight into why the author wrote the book I found one of his reasons vague and slightly suspect with a strong aftertaste of personal morality that has no place in such a book. If you want to know more, you'll have to read the book!
Finally I will let you consider the comments of a reviewer of the first edition of this book. He said "One comes away with the feeling of having spent a pleasant but somewhat wasted afternoon of reading and as the old joke goes '...it ain't till you turn your head that you realise how sharp the razor is..'".