From Bare Metal to the Forge: The Case for Autonomous Engineering
I learned the web when the work still had metal under it. In the 1990s and early 2000s, that meant hand-building sites for local businesses, wrestling Apache into obedience, writing raw HTML, and hunting errors one line at a time. Every small act of creation demanded a toll.
Edited September 4, 2026: The personal account is retained. Repetition has been cut, and broader claims about engineering's future are framed as the author's argument.
Pain is not the craft
That world gave me respect for the machine. It taught patience, logs, failure, and the quiet discipline of knowing what was actually happening under the surface.
It also taught a lie: that manual friction is moral.
The patience was useful. The repeated friction was not always useful. Remembering a command, rewriting boilerplate, or shuttling context between tools can take attention away from the decision that actually matters: whether the change is correct and worth making.
My case for autonomous engineering starts there. I want to spend less of my attention carrying repetition and more of it deciding what the system should do, how to verify it, and how to recover when it fails. That is a choice about how I want to work, not proof that every engineer or team needs the same arrangement.
What delegation has to earn
A fast first draft can be valuable. It can also create more work to review. A patch that arrives quickly is not a finished change, and a plausible explanation is not evidence that the patch behaves as described.
The useful shift is from typing every step to specifying and inspecting the work. The operator still has to define the problem, set limits, judge the result, and understand the consequences. Delegation moves those responsibilities into sharper focus; it does not discharge them.
The OpenForge release-engine account describes one place Greyforge tried to make repeated work more systematic. It is a public record to inspect, not a guarantee that every release was flawless. The same distinction belongs in any account of autonomous work: show what happened, and leave room for the part that failed.
Vibes are not architecture
Vibe coding has one honest use: it shows how directly intent can become a draft. A person can describe a direction and get scaffolding, code, or prose back. The next question is whether that draft survives contact with the system it is meant to change.
For me, that calls for a few concrete responsibilities:
- Establish what is being changed and who owns the decision.
- Check the sources behind strong claims and the assumptions behind a patch.
- Review the result, including what must stay private.
- Run checks that exercise the behavior being changed.
- Understand the release path and the recovery path before relying on either.
Those are jobs to perform, not badges an agent acquires by having a name. Planning, implementation, review, and release benefit from distinct responsibilities. A list of specialists only helps if someone checks the work between them. The harness-engineering Chronicle develops that argument further; it is a paid edition with a public preview.
Automation can repeat an error as readily as a useful operation. That makes the ability to notice a bad result more important, not less.
The atrophy tax
I feel the cost in my own work. Paragraph breaks get sloppy. Typos get delegated. Small mechanics fade because some agent or editor will clean them before the page goes live. The system removes friction, and friction used to be part of the training.
That is my observation, not a measured claim about what happens to every developer. It is enough to make me wary of confusing a convenient abstraction with an understanding of the machinery underneath it.
Read the logs. Understand the release path. Know the rollback. Know when a source is weak. Know when a claim is too loud. Know enough bare metal to tell whether the forge is actually hot or merely glowing on the surface.
The hammer still matters.

Keep the hammer
I want tools that carry repetition without asking me to stop paying attention. That means treating verification and recovery as part of the work, rather than assuming that a generated result has already earned trust.
There will still be tasks where a direct command, a small script, or a manual investigation is the clearer choice. The case for autonomy gets stronger when it can admit those cases. It gets weaker when every ordinary task has to justify another layer of orchestration.
The engineer I want to be can define intent clearly, inspect the result, protect what should remain private, and drop down to the machinery when an abstraction fails. That keeps the craft while changing where the effort goes.
The hammer should not have to type every page by hand.
The public source note separates this personal argument from the external tooling context. More of the work behind it is collected in OpenForge.