This new era of software development has new emerging skills that are needed. They may overlap with traditional software development, but I think it is very likely the case that we will see a new role emerge.
It happened with DevOps, it happened with forward deployed engineers, it’ll happen with whoever is responsible for the harness.
It’ll be the Harness engineer.
What?
I believe that a strong & talented application architect operating with some level of autonomy has been an important part of controlling macro level complexity in software for years. Additionally, I feel a new skillset is emerging, harness engineering, which is an extension to the application architect. A harness engineer would benefit from an application architect background. Or both roles could exist on the same team.
There is too much overlap between human developer productivity (largely affected by the application architect’s decisions) and LLM productivity. You cannot wrap a harness around a giant spaghetti monster and expect results. It’s the same as if you tried to wrap a process around a failing team. Technical excellence is still the foundational piece.
The combination of an application architect and a harness engineer can keep an operation like Gas Town running without layers of insurmountable spaghetti code. They can manage its macro complexity. This is hard. It requires a strong skillset in software engineering, an intuition for big picture thinking, and a fast-learning mindset. They need to be able to come up to speed with things quickly and have a strong grip on the long term vision while code is changing rapidly.
Steve Yegge said it, “most people can’t read.” You need to be able to read, and you need to be able to read exceptionally fast. It’s all about how fast you can learn. I don’t mean skimming. I’m talking about full understanding and comprehension of what is going on.
What???
In some analogies related to agentic development, the human is described as steering the agent. I don’t love the analogy, but I think it holds well. If we build on it…
- Harness engineering is automating the steering. It tells the agent when to go left or right and how to navigate from point A to point B.
- Application architecture is giving the agent better vision. Their workspace is more clear and the route to success is more evident.
Another analogy I like to use is the Walk-run-wheels-rocket-into-space analogy.
- The harness engineer is responsible for building a rocket boosted development pipeline (Speed).
- The application architect is responsible for making sure the rocket boosted pipeline stays straight, stays grounded, and doesn’t succumb to Lift (Aerodynamics).