The Pragmatic ProgrammerDue to the depressing previous post, I thought I had to do justice to the book, avoiding some comments about my career, and focusing on a good review of the book.

The book starts with the DRY principle (Don’t Repeat Yourself), and the authors remind this among the pages. The idea is trying to avoid the repetition of the information. It’s not only referring to the code (don’t repeat functionalities, create modules, avoid coupling, etc). But they look at a wider vision: the client requirements doc, the code, the database scheme… all reflect the same information. When something changes in the database, normally you have to change something in the code… so you are repeating information, and maybe it could be better to find a way to avoid this. The book explains a lot of inspiring ideas for helping you with this stuff.

It also speaks about a lot of engineering related processes. Ideas about prototyping, debugging, testing, requirement capturing… and, of course, programming. In my opinion, the most important thing in this book are not the individual tips, but the big picture. It is showing a sort of philosophy, an interesting one (to follow).

A must in an engineer’s bookshelf!