

Last year, I watched a development team roll out GitHub Copilot across multiple projects. The results were immediate. Developers were generating Spring Boot services faster, writing unit tests more quickly, and finishing stories that previously stretched across several sprints. Management was happy because delivery metrics improved almost overnight.
What surprised me was not the increase in development speed.
It was the increase in everything else.
Within a few months, architecture reviews started taking longer. Security teams had more pull requests waiting for approval. Platform engineers were onboarding additional services into Kubernetes clusters. Operations teams suddenly owned more dashboards, more alerts, and more production dependencies than before.
Nobody complained about AI.
People were simply trying to keep up.
The software industry has spent years trying to remove friction from development.
Agile helped teams plan better. CI/CD pipelines reduced deployment delays. Cloud platforms made infrastructure easier to provision. Platform engineering simplified developer workflows. Every major improvement had a similar objective: Reduce the time between an idea and working software.
AI coding assistants represent the latest step in that journey.
The productivity gains are real. Anyone who claims otherwise is ignoring reality.
Developers can generate APIs, infrastructure templates, SQL queries, test cases, and documentation much faster than before. Tasks that once required half a day can often be completed before the next meeting starts.
The problem is that software delivery has never been only about writing code.
I think many organizations are beginning to discover this the hard way.
A few years ago, development was usually the bottleneck. Today, in some organizations, development is becoming the easiest part of the process. The challenge has moved elsewhere.
When an engineer generates a new microservice, the work does not end when the code compiles. Somebody still needs to review the design. Somebody needs to verify security controls. Somebody needs to make sure the service follows organizational standards. Somebody needs to determine who will support that service when it fails at two o’clock in the morning.
AI accelerates software creation.
It does not eliminate operational responsibility.
One platform team I worked with noticed an interesting trend after introducing AI- assisted development. Their deployment pipeline was healthy. Build times were reasonable. Automation coverage was strong. Yet release cycles were not improving as much as leadership expected.
After looking deeper, they discovered the bottleneck had shifted. Development teams were producing more software than architecture and security reviews could comfortably handle. The organization had solved one constraint and accidentally created another.
That experience is becoming increasingly common.
I often hear discussions about how AI will transform software engineering, but most conversations focus almost entirely on developers. Far less attention is given to the people responsible for everything that happens after code is written.
Security teams are a good example.
AI can generate a new API quickly. It cannot explain why that API needs access to customer information. It cannot answer audit questions. It cannot participate in risk assessments. It cannot justify architectural decisions during compliance reviews.
Those responsibilities still belong to people.
As software volume increases, security organizations frequently find themselves reviewing more changes without receiving more resources. The issue is rarely expertise. Most companies already have talented security professionals. The challenge is simple capacity. The amount of software entering the pipeline grows faster than traditional review processes were designed to handle.
Testing creates a similar situation.
Many AI tools are surprisingly good at generating tests. Coverage numbers often improve almost immediately. Leadership dashboards look better. Reports show positive trends. Everyone feels encouraged.
Yet some of the most valuable tests I have seen were never generated automatically.
They came from engineers who understood how customers actually use a system.
They came from people who remembered previous production incidents. They came from testers who intentionally tried unusual workflows because they suspected something might break.
Software quality is not only about coverage percentages.
It is about understanding where failure is likely to occur.
AI can help with testing. It cannot replace engineering intuition.
Another challenge is harder to measure because it does not appear on dashboards.
Understanding.
When engineers build systems manually, they develop familiarity with them. They know why certain decisions were made. They remember the tradeoffs. They understand which shortcuts were accepted and which risks were avoided.
AI changes that relationship.
Developers increasingly act as reviewers and orchestrators rather than primary creators. This is not necessarily bad. Productivity improves significantly. The downside is that teams sometimes inherit software they did not fully design themselves.
Months later, when a production issue appears, somebody must figure out what happened.
That is where things become interesting.
I have seen teams spend hours tracing through code that was technically correct but poorly understood. The problem was not software quality. The problem was knowledge. Software had been created faster than organizational understanding could develop around it.
This may become one of the most important challenges of the AI era.
Not code quality.
Not deployment speed.
Understanding.
Modern systems are already complicated. A single customer transaction might touch APIs, Kubernetes services, message queues, databases, observability platforms, third-party integrations, and cloud infrastructure spread across multiple environments.
Adding more software to that ecosystem is easy.
Maintaining visibility into that ecosystem is much harder.
This is why I have become increasingly convinced that observability will be one of the most important investments organizations make over the next few years. The ability to understand what is happening inside a system may become more valuable than the ability to generate that system quickly.
When incidents occur, teams need answers. They need to know which deployment introduced the issue. They need to understand whether a problem originated in application code, infrastructure, configuration, or an external dependency. They need enough visibility to make decisions under pressure.
Without that visibility, faster development simply means faster confusion.
Fortunately, organizations are not starting from scratch.
Many already have platform engineering teams building internal developer platforms, governance frameworks, deployment standards, and operational guardrails. Those investments become even more important as AI adoption increases.
The organizations that benefit most from AI will probably not be the ones generating the largest amount of code. They will be the ones who build systems capable of managing software at scale.
That means automating security checks wherever possible. It means enforcing architectural standards before deployment. It means treating observability as a requirement rather than an afterthought. It means building governance directly into platforms instead of relying entirely on manual processes.
Most importantly, it means recognizing that software abundance creates different challenges than software scarcity.
For decades, the industry worried about how quickly developers could write code.
Now we are entering a period where code is becoming easier to generate than to manage.
I do not believe AI reduces the importance of DevOps. If anything, I think it makes DevOps more important than ever. The industry has spent years learning how to accelerate software creation. The next challenge is learning how to operate, govern, secure, and understand the enormous amount of software that AI makes possible.
Generating code is getting easier every month.
Building trust in that code is not.
That may be the problem engineering leaders spend the next decade trying to solve.