Advertisements
Posted by: jsonmez | August 10, 2010

Book Review: The Pragmatic Programmer

I recently completed reading The Pragmatic Programmer by Andrew Hunt and David Thomas.

pragmatic

I wish I could take a time machine back to the year 2000 and read it then.

So much of the information in the book seems to be concepts that many software developers understand and take for granted as general knowledge now, that wasn’t at the time of its writing.

The book is very much a collection of knowledge from years of practical experience writing code.  It is very specific in stating what kind of specific coding practices should be carried out and which ones should be avoided.

The content of the book lays somewhere between the low level software construction in a book like Code Complete and a book targeting a higher level methodology or project management.

Good:

  • Years of experience packed into a small package.
  • Most of the advice in this book is timeless.
  • Practical real world truth instead of theoretical talk.
  • Excellent focus on automation for everything you can automate.
  • Technology independent advice.

Bad:

  • There were definitely some dated pieces of advice that I wouldn’t recommend following today.
  • If you are already familiar with many of the software craftsmanship or general agile principles, much of this book will echo what you already know.  (Can’t fault the authors for that since this book is probably the origin of much of that information getting out, yet if you haven’t read the book, you should know what to expect.)

What I learned:

I really liked the section of the book that talked about using “tracer bullets” in software development.  Basically the idea is that you can either prototype the software or build what you know and then adjust your aim to reach the user’s real requirements instead of trying to specify up front.

I think many times in development we get hung up on knowing all the details, but sometimes we need to fire “tracer bullets” first to see if we are hitting the target.

I also realized that I am guilty often of programming by coincidence.  Sometimes I will have put a magic incantation into the code and not really understood why it worked.  It is very important to understand why something works, not just make it work.

As always, you can subscribe to this RSS feed to follow my posts on Making the Complex Simple.  Feel free to check out ElegantCode.com where I post about the topic of writing elegant code about once a week.  Also, you can follow me on twitter here.
Advertisements

Responses

  1. I love this book.

    I’m not so sure that the knowledge in the book is outdated or common knowledge to most programmers now, as you seem to hint at. I think it’s common knowledge to you and many other programmers who have spent years in the field and gathered the knowledge organically with experience.

    And that’s really where I think the book shines. I think it’s a great read for a green developer. As you said “years of experience packed into a small package”. This is a book with so much good advice that you can either spend years slowly picking up through your own experiences, or you can read it as a young developer and be ready to pretty much hit the ground running.

    It’s also valuable to experienced developers as a refresher. It may not contain anything you don’t already know, but it is sometimes nice to re-focus your efforts on things that you may have sort of lost focus on as part of your day in and day out work.

    • Good points. I can’t argue with what you said. Maybe I was a bit harsh on the book. I actually think it is an excellent book. It was one of the classics that I had never gotten around to reading.

      • Oops. I didn’t mean to sound as if I was disappointed with your review. I think you did a really good write up. Sorry if it came off sounding that way.

        I actually had the same reaction the first time I read it a few years ago. I kinda thought to myself “this stuff is just common sense”. It took reading the book a 2nd time as part of a ‘tech book group’ program that I was running at a previous employer with a few junior guys to see how valuable it was to those guys who hadn’t picked the stuff up yet through their experiences.

  2. I’ll never understand why this book and Code Complete aren’t mandatory reading in college for CS degrees.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Categories

%d bloggers like this: