What it argues
The Pragmatic Programmer is David Thomas and Andrew Hunt's distillation of what separates journeyman coders from craftsmen who consistently ship good work over long careers. First published in 1999 and substantially updated in 2019, it remains one of the most influential books in software development — not because it covers any single technology, but because it addresses the habits of mind and professional attitude that make a developer effective regardless of language or framework.
The core metaphor is "pragmatic": Thomas and Hunt are not interested in theoretical purity. They want software that works, ships, and can be maintained. This leads to a set of maxims that cut across the usual distinctions between junior and senior work. Don't repeat yourself (the DRY principle) is not just about copy-paste code; it's about every piece of knowledge having a single, authoritative representation in a system. Tracer bullets aren't a metaphor for prototypes — they're a method for finding the path through a problem by building a thin, working slice before filling it in. Broken windows, borrowed from urban planning, explain why small acts of disorder in a codebase compound into big ones if left unaddressed.
What it gets right
- 1.
DRY — Don't Repeat Yourself — means every piece of knowledge should have a single authoritative representation. Duplication causes knowledge to rot out of sync.
- 2.
Broken windows matter. Leaving a small problem unaddressed signals that nobody cares, and the codebase degrades faster from there.
- 3.
Tracer bullets find the path through a new problem by building a thin, working slice end-to-end before filling in detail. They are not throwaway prototypes.
What it covers
Who wrote it
David Thomas and Andrew Hunt are American software engineers and early signatories of the Agile Manifesto. They have spent decades as consultants, educators, and writers in the software industry. Thomas co-founded the Pragmatic Bookshelf, a publisher focused on practitioner-oriented programming books. Hunt runs his own consultancy. Together they wrote The Pragmatic Programmer first in 1999, then substantially revised it for a 20th anniversary edition in 2019. The book's maxims — DRY, broken windows, tracer bullets — have passed into common use in the software industry.