disposable code and immutable infrastructure parallels

Charity Majors: disposable AI code requires immutable-infrastructure discipline to stay safe IT Revolution
TL;DW
  • Cost of software is defined by maintenance cost, not whether AI generates it; disposable code has low maintenance burden by design.
  • Trust in code builds over time through production exposure—no test suite matches two years of proven stability in production.
  • Immutable infrastructure lesson: mutability is the enemy of understanding; systems edited in-place fail in hard-to-diagnose, hard-to-reproduce ways.
  • Regenerate what you've defined, not patch what you haven't: stop maintaining hand-crafted artifacts, treat them as cache.
  • Code becomes replaceable cache when you specify commitments, evaluate them, and monitor continuously—not by rewriting in place.
  • Testing in production with feature flags, granular observability, and rollback paths enables safely deploying fresh code.
  • Undetected behavior change, performance regressions, and silent drift—not code newness—cause failures; new code with strong contracts is safer than old code without them.
  • Engineering and management must align on AI adoption: suppress engineer skepticism and you push honest skeptics into reflexive anti-AI corners.
  • Different system layers can safely change at different rates; databases and user-facing contracts require stable boundaries; internal logic can be disposable.
  • Managers forcing adoption without walking in engineers' shoes risk long-term resentment if wrong; bring skeptics along by showing hands-on evidence, not issuing mandates.

Majors maps the handcrafted-server-to-immutable-infra shift onto durable vs. disposable code, arguing mutability is the enemy of understanding in both domains. Safe high-velocity replacement requires stable interfaces, strong specs, continuous observability, granular feature flags, and clear rollback paths—not just AI-generated output.