“We can always regenerate it.”
A reassuring sentence until the person maintaining the code six months later hears it for the first time.
AI coding has introduced an interesting disagreement about what it means to own an implementation.
Some teams use AI to write code faster, while engineers still understand how it works and why it was built that way.
Others treat the implementation as replaceable. They invest in specifications and evaluations, with the expectation that they can regenerate the code when needed.
Both approaches can work. The trouble starts when people on the same team assume they are following different ones.
One engineer expects to inherit code they can understand and maintain. Another assumed nobody would need to read it again.
Production is an awkward place to discover that difference.
Before merging AI-generated work, we should agree on a few things:
- Who is expected to understand the implementation?
- What would we need to regenerate it reliably?
- How would we check that the replacement still does what we need?
- Which parts will still require human understanding?
“Who owns this code?” used to be a fairly straightforward question.
Now we also need to ask what that ownership means.
Inspired by “Do You Still Read the Code?” - https://zanlib.dev/blog/do-you-still-read-the-code/
#CTOThoughts #AIEngineering