Perfectionism demands flawlessness or excessively high standards, turning careful work into a trap. It can keep a programmer polishing instead of making progress. section 8.3.3 section 9.3
Recognize perfectionism by the ways it distorts programming priorities:
- Reworking or refactoring code beyond the point of usefulness. section 8.3.3
- Treating clean code as more important than delivering what the customer wants. section 9.3
- Demanding creative greatness until ordinary, reachable victories no longer count. section 9.3
- Balancing the pragmatic self against the dogmatic self: move forward, but do not excuse careless shortcuts. section 8.3.3
Bird by bird
Imagine advising a new colleague about writing code. Rather than postponing the answer until you have a perfect philosophy, pair up this week and proceed one useful step at a time. A first draft, like a nighttime drive, only needs enough visibility for the next stretch. section 8.3.3
