In issue 350 of The Batch, Andrew Ng ranks types of software work by how much coding agents accelerate them, from most to least:
- Frontend development
- Backend development
- Infrastructure
- Research
I agree with the ranking, but I think the reasoning misses the most important factor: feedback loop quality.
Put differently: coding agents perform better when they can verify their own output.
A browser renders frontend results immediately and objectively: you can see at a glance whether a button is in the wrong place. There is no equivalent for a race condition in a distributed system, or for infrastructure failures that only emerge from interactions between components that each appear correct in isolation.
What degrades feedback loop quality is a lack of context locality. The further from the code an agent must reason, the harder it is to self-correct:
- Frontend success depends almost entirely on local context: the component, its state, and the API contract at its boundary.
- Backend requires reasoning about distributed state, concurrency, and security across multiple systems.
- Infrastructure requires modeling behavior under load and failure conditions.
- Research requires reasoning about what is not yet known.
As a mostly backend developer, the first thing I ask before starting any new feature is: how will the coding agent test what it is doing, iterate, and validate its own work?
Unfortunately, it is not always possible to remove the human from the loop. For example, when implementing a feature that requires confirming an action on a smartphone app.