Book review: The Pragmatic Programmer

David, my fellow nerd at Grrr, whom I highly respect as a programmer, recommended The Pragmatic Programmer as a bible for developers.

So what could I do but pick it up and give it a read?

The Pragmatic Programmer front cover

And a bible it is. I have never before read such inspiring words about programming.

If anything, this book is about philosophy. After a couple of years of experience, programming becomes a way of thinking. It’s not really about the code you write, or the language you write it in. It’s more about solving problems, and designing the system that does the problem-solving.

Andrew Hunt and David Thomas cover various topics we as developers encounter everyday. They explain different pitfalls or ways of thinking which most times lead to bad code. And more importantly, they create an atmosphere in which you actively think about what you’re doing, why you’re doing it and how you might approach it differently.

Since the book largely uses software development as its context, I can understand how web developers won’t always be able to familiarize themselves with its examples. But I think anyone who writes code, high-level or low-level, big or small, simple or complicated, can draw inspiration from this book and should take a lot of its advice to heart. If you truly believe writing code to solve problems is serious business, I’m positive the authors will have a lot to offer you.

Above all, it amazes me how complete The Pragmatic Programmer is. It talks about programming issues such as coupling, orthogonality, assertive programming and refactoring. It talks about your workflow and how you can make the most of your work environment. It talks about how you’d best function in a team, and make sure your code is safe and under version control.

Not unimportant - the writing is great. The authors provide clear examples and useful and often humorous analogies and metaphores. Important tips are formulated as a kind of mantras that are memorable, not in the least because a separate chart containing them all comes with the book. Examples are; Don’t live with broken windows, Crash early and There are no final decisions. A list of all 70 tips can be found on the book’s website.

After reading it, I feel armed with a lot of new knowledge. I feel like I can make more informed decisions. I truly feel it’ll help me become a better programmer.
Do yourself a favor. Read it.