From Writing Code to Orchestrating Agents: The New Software Engineering

Something unusual is happening in software engineering. Adoption is surging and trust is falling at the same time.

According to recent industry surveys, roughly 80% of developers now use AI coding assistants in some form. Gartner projects that 60% of new code will be AI-generated by the end of 2026. GitHub Copilot, Cursor, and similar tools have moved from curiosity to daily workflow in under three years. By any measure, AI-assisted development has achieved mass adoption faster than almost any previous development methodology or tool.

Yet trust in AI-generated code accuracy dropped from 40% to 29% over the past year, according to the Pragmatic Engineer survey. Developers are using AI more and trusting it less. This paradox is not a contradiction. It is a signal that the profession is maturing in its understanding of what AI coding tools actually are: powerful but unreliable collaborators that require skilled oversight.

The Intern Model

The most useful mental model for AI coding agents is the talented intern. Fast, eager, capable of producing impressive volumes of work, but lacking judgment about architecture, edge cases, security implications, and long-term maintainability. You would not let an intern design your system architecture unsupervised. You would not merge their code without review. But you would absolutely give them well-scoped tasks with clear requirements and review their output.

Anthropic's research on agentic coding workflows reinforces this pattern. The most effective use of AI coding agents involves bounded autonomy: clear task definition, constrained scope, explicit acceptance criteria, and human review at integration points. The agent operates freely within boundaries, and the human sets and enforces those boundaries.

This is not a temporary limitation that will disappear with the next model release. It reflects a fundamental characteristic of current AI systems: they optimise for local coherence without global understanding. An AI agent can write a function that passes its tests perfectly while introducing a subtle architectural inconsistency that causes problems three months later. Detecting this requires the kind of systemic understanding that comes from experience, not from pattern matching.

The Shift from Coder to Orchestrator

If AI handles much of the code generation, what does the software engineer do? The role shifts from writing code to orchestrating the process that produces code. This is a more demanding job, not a less demanding one.

Architecture and system design become the primary value-creation activities. Deciding how components interact, where boundaries should be drawn, what trade-offs to accept, and how the system will evolve over time. These decisions shape everything that follows, and they require deep understanding of both technical constraints and business requirements. AI can propose architectural patterns, but evaluating whether a pattern fits a specific context requires human judgment.

Quality judgment replaces quality creation as the core skill. Instead of writing correct code, the engineer evaluates whether AI-generated code is correct, maintainable, secure, and aligned with system-level design decisions. This is a different cognitive activity. Writing code is constructive. Evaluating code is analytical. Both are skilled work, but they engage different mental processes and require different training.

Prompt engineering and task decomposition become first-class engineering skills. The ability to break a complex requirement into well-scoped tasks that an AI agent can execute effectively is not trivial. Too broad, and the agent produces incoherent output. Too narrow, and the overhead of managing individual tasks exceeds the productivity gain. Finding the right granularity is itself an engineering discipline.

Integration and coherence management emerge as new responsibilities. When multiple AI agents produce code for different components, ensuring that the pieces fit together, that conventions are consistent, that shared assumptions are explicit, and that the system as a whole is coherent, becomes a critical coordination function.

The Paradox of Mass Adoption and Growing Skepticism

The simultaneous increase in adoption and decrease in trust is actually healthy. It indicates that developers have moved past the hype cycle and into practical experience. They have seen what AI coding tools can do, and they have also seen what goes wrong.

The failure modes are becoming well-documented. AI-generated code that looks correct but handles edge cases incorrectly. Test suites that achieve high coverage but test the wrong things. Architectural patterns applied mechanically without regard for context. Security vulnerabilities introduced because the model optimised for functionality rather than safety.

Experienced developers have learned to expect these failure modes and compensate for them. They use AI tools extensively but review output carefully. They delegate generation but retain judgment. This is the mature stance, and it is where the profession is heading.

The less experienced developers, those who entered the profession after AI tools became ubiquitous, face a different challenge. They may not have developed the judgment needed to evaluate AI-generated code because they have never built that judgment through the slow process of writing code themselves, making mistakes, and learning from the consequences. This is the training paradox of AI-augmented professions, and software engineering is encountering it earlier than most.

What Stays Human

Some aspects of software engineering are not being automated, and may not be for a long time.

Understanding what to build remains fundamentally human. Translating ambiguous business needs into clear technical requirements requires empathy, negotiation, domain knowledge, and the ability to ask questions that stakeholders did not know they needed to answer. AI can help structure requirements, but it cannot replace the conversation.

Making trade-off decisions under uncertainty is where engineering judgment matters most. Should we optimise for performance or maintainability? Should we build this ourselves or use a third-party service? Should we ship now with known limitations or delay for completeness? These decisions depend on context that extends beyond the codebase into business strategy, team capability, market timing, and risk appetite.

Debugging complex system behaviour often requires reasoning about emergent properties that arise from interactions between components. AI can help with isolated bugs, but diagnosing why a distributed system behaves unexpectedly under specific conditions requires the kind of holistic understanding that comes from deep familiarity with the system and its history.

Ethical and security judgment cannot be delegated to tools that lack understanding of consequences. Deciding what data to collect, how to handle user privacy, what failure modes are acceptable, and where to invest in security requires values-based reasoning that current AI systems cannot perform.

The Productivity Question

Does AI-assisted development actually make teams more productive? The honest answer is: it depends on how you measure and how you manage.

If you measure lines of code produced per day, the answer is clearly yes. AI dramatically accelerates code generation. But lines of code is not a useful productivity metric and never has been. The relevant measure is working software delivered per unit of time, including the time spent fixing bugs, refactoring poorly structured code, and maintaining the system after delivery.

By this measure, the evidence is mixed. Teams that use AI tools within a disciplined engineering process report significant productivity gains. Teams that use AI tools without such discipline often report initial speed followed by escalating maintenance costs. The tool amplifies whatever process it is embedded in, for better or for worse.

How We Actually Work

At TaiGHT, we are not writing about agent orchestration from the outside. We actively build with AI coding agents daily, using tools like Claude Code and Cursor within disciplined development workflows. We design the architecture, define the boundaries, and review what the agents produce. Our development process for this very website uses agent orchestration with explicit quality gates and human review at integration points.

We also bring Lean process thinking from manufacturing, which turns out to be directly applicable: bounded autonomy, built-in quality checks, and clear handoff points are the same principles whether you are running a production line or orchestrating AI agents. If you are figuring out how to use AI coding tools without losing engineering discipline, that is exactly where we work.


This article draws on recent research and industry data on AI-assisted software development. We recommend the following for further reading.

References

  • Anthropic (2025). The Agentic Coding Report: Patterns for Effective Human-AI Collaboration in Software Development. Anthropic Research.
  • Orosz, G. (2025). "Developer Sentiment on AI Coding Tools." The Pragmatic Engineer Newsletter.
  • Gartner (2025). Predicts 2026: Software Engineering in the Age of AI. Gartner Research.
  • Brooks, F.P. (1995). The Mythical Man-Month: Essays on Software Engineering (Anniversary ed.). Addison-Wesley.
  • Forsgren, N., Humble, J. & Kim, G. (2018). Accelerate: The Science of Lean Software and DevOps. IT Revolution Press.
  • Winters, T., Manshreck, T. & Wright, H. (2020). Software Engineering at Google: Lessons Learned from Programming Over Time. O'Reilly Media.