The interesting shift isn't really from autocomplete → generation → agents; it's from producing code to supervising decisions. An agent can remove a huge amount of mechanical work, but that also makes context and verification more important because the developer may see the final diff without seeing every decision that produced it.
The point about teaching engineers to recognize when code is wrong is especially important. With agents, debugging isn't disappearing it is moving earlier into specification, constraints, validation, and architectural judgment. A plausible 200-line implementation is often harder to review than a missing 20-line implementation.
I think the next productivity boundary will be less about how much an agent can execute and more about how well we can make its reasoning and intermediate decisions observable enough to trust.
The interesting shift isn't really from autocomplete → generation → agents; it's from producing code to supervising decisions. An agent can remove a huge amount of mechanical work, but that also makes context and verification more important because the developer may see the final diff without seeing every decision that produced it.
The point about teaching engineers to recognize when code is wrong is especially important. With agents, debugging isn't disappearing it is moving earlier into specification, constraints, validation, and architectural judgment. A plausible 200-line implementation is often harder to review than a missing 20-line implementation.
I think the next productivity boundary will be less about how much an agent can execute and more about how well we can make its reasoning and intermediate decisions observable enough to trust.