The history of software is a history of handing work to the machine. We started by punching instructions into cards, then let compilers turn readable languages into machine code, then let virtual machines forget which physical computer we were on, then let the cloud forget the machine entirely. Each step looked, at the time, like giving up control. Each one was really moving up a level — trading a layer of toil for a layer of leverage. Agentic development is the next step in that same long line, and it is a bigger one than most.
Abstraction has always been the story
None of the previous shifts made programmers obsolete; they changed what a programmer spent the day on. The compiler did not end programming, it ended hand-writing assembly. The cloud did not end operations, it ended racking servers. Every time the machine absorbed the layer below, the human moved to the layer above — from managing memory to managing logic, from managing servers to managing systems.
The pattern is so consistent it is almost a law: whatever becomes cheap to automate stops being where the value is, and the value moves up to whatever is now the scarcest thing. For a long time the scarce thing was implementation — turning intent into working code. That is exactly the layer agents are now absorbing.
An agent is a colleague, not a faster autocomplete
The tempting mistake is to file coding agents under "better autocomplete." They are a different kind of thing. Autocomplete finishes your sentence; an agent takes a goal and acts on it — deciding, within the guardrails you set, what to change and how, then doing it. It is less like a smarter keyboard and more like a colleague who happens to live in the repository: you give it an issue, it goes away, and it comes back with a merge request.
That is the shape we built TaskGoblin as. It is not a panel in your editor. It is a teammate in the tools your team already uses — assigned issues, mentioned in threads, reviewing pull requests — that does the implementation in a sandbox and hands back work you review. The unit of interaction is not a keystroke. It is a task.
What the day starts to look like
Follow that one step forward and the workday changes shape. The dependency bumps that nobody wants to do get done overnight. The flaky test gets pruned before standup. A well-specified feature arrives as a draft pull request with scaffolding and tests already in place, waiting for judgement rather than typing. A product manager moves a ticket and the first version of the change is open by the time anyone looks. The conveyor belt of toil — the necessary, unglamorous work that fills so much of an engineer's week — finally slows down.
What is left is the part that was always the actual job: deciding what should be built, noticing when the obvious implementation is subtly wrong, holding the taste and the context that no amount of raw capability supplies. The engineer moves from author to editor — from producing every line to directing what gets produced and ruling on whether it is right.
The question changes from "can we?" to "should we?"
When implementation is cheap and fast, the binding constraint stops being whether you can build something and becomes whether it is worth building. Iteration gets cheap enough that design reviews turn exploratory — try three versions instead of arguing about one. A small team can operate with the output of a much larger one, because the leverage per person went up. And competitive advantage shifts accordingly: away from who can execute, toward who has the taste to know what to execute, the empathy to understand who it is for, and the clarity to articulate the problem well enough that an agent can run at it.
That is the reframing under all the noise. "We are all just managing junior-dev swarms now" is the anxious version; the truer version is that the leverage moved, and the scarce skill moved with it — up, to judgement.
Where the human stays
An honest version of this future does not pretend the human disappears. It is the opposite: as the machine absorbs implementation, the human decisions become more consequential, not less, because each one now steers far more output. That is why TaskGoblin deliberately keeps a person on the merge — the agent writes the code and reviews the change, but it never approves and never merges. The judgement about whether something is right for this system, right now, is precisely the layer that does not automate, and it is the layer we are all moving up to.
The conveyor belt is slowing. What determines who shapes the next era of software will not be who can implement — the machine is taking that, as it took the layers below it. It will be imagination, taste, and the judgement to point all of this capability at the things actually worth building.