Part 4 · 1 chapters · ~8 min
The Pragmatic Programmer
The habits: care about the craft and fix broken windows, DRY as knowledge rather than text, orthogonality and reversibility, tracer bullets versus prototypes, disciplined estimating and debugging, and ruthless automation and testing, mapped to modern practice.
6
The Pragmatic Programmer
Less a theory than a set of habits. Most of them are now so standard that the book reads as obvious, and that is a measure of its influence. The habits that are still rare are the ones about responsibility and knowledge.
| tip (paraphrased) | what it looks like in practice |
|---|---|
| don't live with broken windows | a quarantined flaky test has an owner and a date; it does not just sit there |
| DRY: one source of truth for each piece of knowledge | money rules in one module; API types generated from one schema (TypeScript course part 8) |
| make it easy to reverse | flags, adapters, config over code (Platformization part 2) |
| use tracer bullets | a walking skeleton through every layer in week one |
| don't assume it, prove it | the DevTools course method: measure, then change one thing |
| test your software, or your users will | the testing trophy (Architecture part 2), mutation testing |
where it has aged
The 2019 edition updated the technology and kept the advice. Some tips about specific tools have dated. The ones about responsibility, knowledge and feedback loops have not.
THE PRAGMATIC PROGRAMMER
Andrew Hunt and David Thomas, 1999 (20th anniversary ed. 2019): the habits
swipe the figure sideways, or tap expand for full screen
1/6
Care about your craft
Care about your craft and take responsibility: the "broken windows" theory applied to code. One neglected mess signals that mess is acceptable, and the rest follows. Fix it, board it up (a ticket and a comment), or at least do not add to it.