Perfectionism – one of the biggest productivity killers in the eng industry
Perfectionism vs “Good Enough”
- Many argue true perfectionism is rare; the dominant problem is shipping half‑baked software and never coming back to fix it.
- Others say perfectionism does exist, especially as polishing, refactoring, or chasing tiny performance gains long after value flattens.
- Some note the cliché “don’t let perfect be the enemy of good” is often abused to justify poor quality rather than legitimately “good enough” work.
Context, Risk, and Tradeoffs
- Several emphasize productivity as an optimization problem: acceptable quality depends on domain (prototype vs critical infra, kernel modules, ICS, aviation, etc.).
- Key question: is a 95% solution shippable now with a realistic path to 99% later, or will constraints freeze the system at 95% forever?
- High‑impact, hard‑to‑change decisions (architecture, safety‑critical paths) are seen as worth more “perfectionism”; minor naming/structure less so.
Quality, Tech Debt, and Industry Sloppiness
- Many report most industry code is “barely working,” with high warning counts, poor testing, and rushed releases.
- Tech debt and “we’ll fix it later” that never happens are cited as major, compounding productivity killers.
- Some tie the culture of “minimum viable” and speed‑at‑all‑costs to systemic failures (e.g., CrowdStrike outage, Boeing problems).
Management, Requirements, and Blame
- Commenters complain managers simultaneously punish “perfectionism” and then punish resulting defects.
- Poor or changing requirements are repeatedly named as a larger productivity killer than perfectionism.
- There is disagreement on whether engineers should interact directly with stakeholders; intermediaries can both help and hinder.
Clean Code, Overengineering, and Abstractions
- Distinction drawn between:
- Valuable diligence: tests, error handling, monitoring, clarity, modularity.
- Harmful “perfectionism”: needless refactors, over‑abstracted architectures, rewriting working code for style.
- Some stress that clean, modular code enables testing and long‑term velocity; others warn against dogmatic patterns and excessive layering.
Perfectionism as Psychology vs Process
- One line of discussion treats perfectionism as a clinical anxiety issue: fear of shipping anything imperfect.
- Several argue the article conflates this with inexperience and mis‑prioritization, which are separate problems.
Suggested Practices
- Commonly endorsed: write down priorities, ship small increments, seek early feedback, use “rule of three” for abstractions, and reserve real perfectionism for the parts where failure truly matters.