Agentic engineering
- Industry term
Agentic engineering is building software by handing tasks with defined goals and limits to AI coding agents, then judging the results with tests, project rules, security controls, evidence from running the code, and change history.
Delegating implementation shifts attention toward defining the required behavior and gathering evidence that the change meets it. Tests can check routine behavior, while unclear goals or consequential effects may still need review by the responsible person. The amount of review follows the change's consequences.
Where you’ll meet it
In your team's chat, a developer says a coding agent reworked the checkout page overnight and every automated test passes. The change also touches how refunds are recorded, and the developer wants it live this afternoon.
What to do
Before agreeing, check whether the passing tests cover refund records and whether their owner has reviewed that part. If either is missing, hold the affected change. Release the page work separately only if the team can show it does not depend on the refund change.
Easy to mix up
In vibe coding, a change goes in when it seems to work, often with the code unread. Agentic engineering accepts a change only once tests and review show it does what was asked.
Check yourself
Your company's app is getting a way for customers to pause their subscription, which touches the account page, billing, and customer emails. You want a small first version that can be tested across all of them. Which task should you hand the coding agent?
Go deeperSeparate acceptance checks can expose shared misunderstandings
Tests written from the same misreading as the code can confirm the wrong behavior. Acceptance tests check the behavior the request actually requires. Writing those independently, or asking a reviewer to compare the change with the request, adds a different source of evidence.
Reverting code does not revert data. Records already saved in a new format stay that way after the old code returns, so a change that rewrites stored records needs its own way back, such as a backup taken just before it ships or a tested script that converts the records to their old form.
Sources
- Migration Operations, docs.djangoproject.com