Book Review — The Productive Programmer

Posted: 08 February 2010

I recently finished Neal Ford’s The Productive Programmer, which was a fast read. It exists as a spiritual successor of The Pragmatic Programmer. But where The Pragmatic Programmer gave maxims, The Productive Programmer discusses recipe-type solutions to common problems the author perceived at the time of writing, 2008. There’s a slight bias towards Java, which was (mostly) king of the coding world at the time, and Java’s two main IDEs, Eclipse and Netbeans. Luckily, the book goes beyond those topics and in some sections covers Windows, Linux and Mac OS X and their respective IDEs and editors. After presenting some “recipes,” the book goes on to talk about the process of finding ways to be more productive as a programmer, which explains the title.

The author describes the reason for creating the book as thus: When stuck in an airport terminal with a software engineer friend, they wondered “Did the world really need another book on regular expressions?” While regular expressions are powerful, there are a bunch of books on that topic that are already excellent. O’Reilly’s Mastering Regular Expressions comes to mind. Becoming fluent in regular expressions is just one way to increase your productivity as a programmer. This book sets out with a loftier goal of teaching you to find ways to be more productive.

Most of the recipes were things I already did on Mac OS X in developing software — the Windows tips didn’t really apply to anything I do. I already use Google Quick Search as a replacement for Quicksilver and Launchbar to keep myself from wasting too much time in the Finder. I try to make the most of my text editor of choice, Textmate, and its bundles. I keep data in plaintext (really a habit I picked up from The Pragmatic Programmer) and keep my files/code/etc much under little git repos. That isn’t to say that the book wasn’t interesting or helpful to me. Some of the things I picked up were in the Practice section (Chapters 6 to 16, so the bulk of the book) that covered coding, particularly object-oriented design, DRYing up documentation, and test-driven development.

There is an appendix of concepts in the bash shell, which will be useful those that aren’t familiar or comfortable with getting things done in the shell. Personally, I’ve been using bash for so long that many of the tricks involving grep and find they discussed in the book I’ve figured out in the past, sometimes with a wildly different solution.

Ultimately, at roughly 220 pages it was a quick read and fairly informative. I’ve been pushing friends to read it, especially people approaching coding from a web design/web app background rather than a Linux & Java background, to see how they like it. For those that have already read The Pragmatic Programmer more than twice, it’s probably worth the quick read, but you’re likely already doing and thinking similar things day-to-day. Recommended.

blog comments powered by Disqus