About the book:

Summery:

This book gives a definition for being a pragmatic programmer, then talks about some of the basic principles to being one. It take a theoretical approach, with examples in the form of stories, to explain a specific problem, and how should one approach it, and solve it.

Highlights:

What I take with me from it:

  • 1-3: Software Entropy:

    Tip 3: Don’t live with broken windows

  • 1-7: Communicate:

    Tip 13: Build documentation in, don’t bolt it on

  • 6-36: Blackboards:

    Tip 60: Use blackboards to coordinate workflow

  • 7-42: Property-Based Testing:

    Tip 71: Use property-based tests to validate your assumptions

Opinion

For someone, like me, who already has experience with more than one programming language, prioritise testing, and familiar with the agile development methods, this book looks some kind of repetition or an emphasise for the information one already know.

Conclusion:

  • I recommend it if you don’t appreciate testing, or early refactoring, or want to know more about agile development methods, ways to better architect your projects. It is a good read after all.
  • Level: Beginner to Intermediate