View all services
Talk to QA Advisor
Browse the Knowledge Hub211 resources
/Books/The Pragmatic Programmer
Books · Honest notes

The Pragmatic Programmer: is it worth reading?

Practical craft advice spanning the whole of software work, including a consistently sound position on testing.

We earn nothing from any link on this page. No affiliate links anywhere in this library.

published
2019
key ideas
3
reading path
1

Reviewed by Viral Patel

Co-Founder, QAble

Cover of The Pragmatic Programmer
ClassicsEngineering culture

The Pragmatic Programmer

Your Journey to Mastery

by David Thomas, Andrew Hunt

Publisher
Addison-Wesley
Year
2019
Edition
Twentieth anniversary edition, substantially revised from the 1999 original.
ISBN
9780135957059

Useful when you are: New to testing, Practising tester, Senior / lead

Verdict

Should you read it?

Read it if

You are early in a software career, in any role. It is the broadest useful book on this list and the one with the widest applicability.

Skip it if

You have fifteen years of experience and have absorbed this material from the industry already, which most people have without reading it.

The argument

What it argues

A collection of practical principles rather than a methodology: do not repeat yourself, design by contract, assertive programming, tracer bullets, and a general stance of deliberate, reflective practice.

Testing runs throughout rather than being confined to a chapter. The position is that tests are the first user of your code and that code which is hard to test is badly designed, which is the same insight TDD arrives at from a different direction.

The anniversary edition updates the examples and removes the material that had dated, making it a genuinely current book rather than a historical one.

Key ideas

Ideas worth taking from it

  1. 01

    DRY, properly understood

    About duplicated knowledge rather than duplicated text. Widely misquoted as a prohibition on similar-looking code, which leads to worse abstractions.

  2. 02

    Tests are the first user of your code

    If code is hard to test, the design is the problem. A reframing that makes testability a design concern rather than a testing concern.

  3. 03

    Tracer bullets

    Build a thin end-to-end path early to validate the architecture, then thicken it. Closely related to the walking skeleton idea.

Criticism

What has dated, and what it gets wrong

Breadth over depth by design, so no topic is covered deeply enough to act on without further reading. Some advice is sufficiently general to be hard to disagree with and equally hard to apply. The anniversary edition fixed the dating problem the original had developed.

Reading paths

On our reading paths

Your first year in testing

Book 4 of 4 · New to testing

Testers increasingly work in code. This builds the engineering habits, such as automating the boring parts and owning your tools, that make that move easier.

  1. Cover of Explore It!1. Explore It!
  2. Cover of Lessons Learned in Software Testing2. Lessons Learned in Software Testing
  3. Cover of Agile Testing3. Agile Testing
  4. Cover of The Pragmatic Programmer4. The Pragmatic Programmer (this book)

Keep reading

What to read next

Ready

Reading about quality is cheaper than learning it in production.

QAble runs QA for products in BFSI, gaming, healthcare and SaaS, with engineers who have read these and argued about them. Start with a free QA audit.

Talk to QA Advisor