AI and the Shift Toward Engineering Discipline

The Economics of Code Production Have Changed

The primary shift in software engineering is that the economics of code production have been inverted: generating lines of code is now effectively free and instant. For most of computing history, code was a treasured asset because the labor to produce it was the bottleneck. Today, code is becoming a disposable "materialized view of understanding"—a cache that is useful while current but disposable when stale.

This transition mirrors the industry's shift from handcrafted "server pets" to immutable infrastructure "cattle." Just as we learned that editing servers in place creates drift and instability, treating application code as a permanent, mutable artifact creates technical entropy. When regeneration is cheap, replacing code becomes safer and more efficient than editing it in place.

From Code-Centric to Evaluation-Centric Engineering

Because code is no longer the bottleneck, the primary challenge of software engineering has shifted from production to evaluation. The value of a system no longer resides in the lines of code themselves, but in the ability to verify that the system behaves correctly.

The Deletion Test

A critical framework for understanding this shift is the "Deletion Test": if you imagine deleting the entire implementation of a system, what prevents you from doing so?

If the answer is "we don't know exactly what behavior is required" or "we don't know how to tell if a new version is correct," then the problem is not a code problem—it is an evaluation problem. Code becomes precious only when it is the only place where system knowledge lives. To move toward a more disciplined AI-integrated workflow, engineers must relocate rigor from the act of writing code to the act of defining and validating behavior.

The Role of Production as Development

In an era of AI-generated code, production is no longer the final destination after development; it is a stage of development. Rigor must be applied through:

  • Observability: Using traces and telemetry to encode what is actually happening in the system.
  • Behavioral Testing: Utilizing characterization tests, capture/replay, and traffic splitters to observe and encode existing behavior.
  • Production Evals: Running tests and evaluations directly in production to validate nondeterministic AI outputs.

The Return to Engineering Discipline

While some suggest that AI makes software engineering obsolete, the reality is that AI demands more engineering discipline, not less. The ability to generate code quickly without a corresponding increase in validation rigor leads to an unstable system and an accumulation of "exotic" technical debt.

Human Value in the AI Era

Humans are fundamentally poor at the repetitive, nitpicky work of validation—the very task that makes them the weakest link in the quality gate. However, humans remain essential for:

  • Creativity and Logic: Providing the leaps of logic and inspiration that drive system design.
  • Architecture: Defining the high-level goals and constraints that AI agents follow.
  • System Understanding: Encoding the tribal knowledge and business intent that AI cannot infer from code alone.

The Risk of "Vibe Coding"

There is a significant risk in "vibe coding"—relying on the superficial plausibility of AI-generated PRs and documentation. As AI makes it easier for underperformers to appear prolific, the industry faces a potential deluge of superficially correct but fundamentally flawed code. The only countermeasure is a return to strict engineering discipline: short, fast feedback loops and rigorous, automated verification.

"The knowledge in our heads is unavailable to AI until we encode it into the system... Discipline first, cookies second."

Summary of the New Paradigm

Old Paradigm AI-Driven Paradigm
Code is a durable asset Code is a disposable cache
Rigor is in the writing/review Rigor is in the evaluation/observability
Production is the end of the line Production is a stage of development
Human value = writing correct code Human value = defining correct behavior

Sources