Software Engineering is becoming contract manufacturing
A reflection on the fairly obvious state of the industry
For a long time, writing software was closer to stone masonry than an industrialized process. Over the last 30 years or so we've build the infrastructure to transition from artisans to manufacturers. We created standardized parts (i.e. packages), unit/end-to-end/ui testing (automated QA), and CI/CD pipelines (assembly lines) to utilize them. LLM/AI agents and coding harnesses are the last part of the basic building blocks needed to transition from building Model T assembly lines in house to doing contract manufacturing.
Like the modern manufacturing process, we are handing off our specs to third party factories to build. Its up to the company looking for manufacturing partners to validate the prospective factories and build in effective testing of their output. That's where software engineering is at right now. Building effective, efficient methods to hand off specs to AI agents and test their output. Software Engineers looking to make the most out of Agents should look to the lessons learned by other industries to improve our usage of these technologies.
There's a window right now where orgs with the resources to do so can spend time building systems to reduce the amount human input and review per task. On a long enough timeline, solutions will trickle down as open source solutions are built and best practices align around how to effectively use agents. For now, the orgs that can build solutions should do so.
The basic automation loop
- Identify a process or part of a process eating your engineers' time
- Build tooling to automating un-automated dependencies.
- When all dependencies of a step are automated, automate that step.
- Move one step right and repeat until tooling longer reduces engineer input.
Repeat for other processes.