The Pragmatic Programmer
by David Thomas and Andrew Hunt
TLDR
- I read the first edition of this book, don't make the same mistake I did. It makes the first 5 chapters very difficult to comprehend because the examples are quite old and most of the problems no longer exist. I am writing the rest of this assuming the new edition improves on this.
- This book is basically a series of tips. The tips are generally good ones and worth thinking about, but it doesn't dive very deep into any of them. More of an introduction of a whole bunch of good ideas that you should do more research on.
- I think this book is a good build-up book before reading Clean Coder.
Why?
If you care about your craft, you should care about how you craft. This book is about how to care about how you craft, introductory-level.
Who should read?
Probably everybody. The value is not extreme, but the level of effort isn't either. For those who are thinking along the lines of management, this is a great read, especially the applications to team environments.
Important Concepts
- Chapter 5 and 7 are the most useful, hands down. If you only have a tiny amount of time, read them (Decoupling and While you code (Refactoring / Naming)).
- Chapter 2 is very basic, but also contains very SOLID (get it?) concepts.
- Topic 38: "Programming by Coincidence", AKA tweaking things while a dev environment is running until it works, is correctly deemed a no-no. (Tags so I can search on how this works in my head: Programming by Chance, Programming by Accident)
Do you ever watch old black-and-white war movies? The weary soldier advances cautiously out of the brush. There's a clearing ahead: are there any land mines, or is it safe to cross? There aren't any indications that it's a minefield—no signs, barbed wire, or craters. The soldier pokes the ground ahead of him with his bayonet and winces, expecting an explosion. There isn't one. So he proceeds painstakingly through the field for a while, prodding and poking as he goes. Eventually, convinced that the field is safe, he straightens up and marches proudly forward, only to be blown to pieces.