The rise of AI coding assistants introduces several emerging challenges for software engineering. These include a potential decrease in developer productivity, an increase in code complexity and duplication, and a heightened risk of security vulnerabilities in generated code. The core issue lies in AI’s ability to produce code quickly without the human judgment needed for true engineering. This shift highlights a critical distinction between merely writing code and the comprehensive process of software engineering.
The Reality of AI in Development Workflows
Despite widespread belief that AI tools boost developer speed, real-world data often shows a different picture. A controlled experiment conducted by METR, a Meta group, in July of 2025, involved 16 experienced open-source developers. These developers worked on 246 real tasks within their own familiar code repositories. The study measured their performance both with and without modern AI tools. The results indicated that developers were 19% slower when using AI.
Even more striking was the perception gap. Before the experiment, developers expected AI to increase their speed by about 20%. After being measured as slower, they still believed the tools had sped them up by roughly 20%. This represents a 40% difference between their perception and the measured reality of their productivity. This finding suggests that while AI can generate plausible code quickly, its integration into complex development workflows does not automatically translate to efficiency gains.
Distinguishing Programming from Engineering
The challenges introduced by AI underscore a fundamental truth about software development, articulated by Fred Brooks in 1986. He stated that the hard part of building software is the specification, design, and testing of the conceptual construct, not the labor of representing it or testing the fidelity of that representation. In simpler terms, the difficulty lies in understanding the problem and shaping a coherent solution, not in the act of typing code.
AI excels precisely at this “typing” aspect, the rote production of code. However, generating code quickly does not guarantee it is the right code for the problem. For instance, a highly productive team might rapidly create many features, but if those features do not align with user needs or market demands, the effort is wasted. This was seen with the MySpace team, which optimized its development process for speed but ultimately created features no one wanted, just before Facebook became dominant. Being busy and making actual progress are not the same thing. Understanding the impact of work is more important than how fast code can be written.
New Technical Debt and Security Risks
The rapid generation of code by AI can lead to significant technical debt and security issues. When AI writes a lot of code, but developers do not become faster or move in the right direction, the effort often goes into invisible work: reviewing, debugging, structuring solutions, untangling systems, and ensuring security and scalability. This is the core of engineering.
Data from GitClear, which analyzed 211 million changed lines of code over four years, showed a concerning trend. In 2024, for the first time on record, the amount of copied and pasted code surpassed the amount of moved code. Moved code is often a sign of refactoring and tidying up. Duplicated code climbed from around 8% to over 12%, a 50% increase. This pattern of more code, more duplication, and less careful restructuring makes systems harder to change and maintain, accumulating technical debt that slows future development.
Security is another major concern. One peer-reviewed study examined over 700 snippets of AI-generated code and found that more than a quarter, 27%, contained some form of security weakness. In an even more striking finding, researchers took verified secure code and asked an AI to iteratively improve it. After just five iterations of the AI refining its own work, the number of critical vulnerabilities increased by nearly 40%. This suggests that without human expertise, AI can degrade the security of a system rather than enhance it.
AI as an Amplifier, Not a Replacement
None of this means AI coding assistants are useless. For the right tasks, in the hands of skilled developers who provide proper review, these tools can be genuinely helpful. Some evidence suggests that developers using AI completed 26% more tasks 55% faster in certain scenarios, and junior developers leveled up more quickly.
However, these positive outcomes point to AI acting as an amplifier. As DORA, the source of these findings, noted, AI makes teams with strong engineering practices perform better, while teams with weak practices perform worse. AI is not good at judgment. It cannot decide if code should exist, if it is correct, if it is secure, or if it will be maintainable by others. It cannot infer the context of how scalable, resilient, or secure something needs to be. These critical decisions still require human input and oversight.
Market Re-evaluation of Skills
The job market for software professionals is undergoing a quiet recalibration rather than a wholesale replacement. While it has become tougher to find new jobs recently, the figures reveal a nuanced story. In the US, the narrow category of “programmer” has fallen sharply by about a quarter over the last two years. This category often refers to the rote production of code, the “typing bit” that machines can now do more cheaply.
However, the broader category of “software developer” has grown and is projected to continue growing over the next decade. The market is not eliminating the work; it is re-pricing it. It pays less for pure programming but more for engineering—the understanding, design, judgment, and responsibility that AI currently lacks. This distinction between programming and engineering is becoming increasingly important in the industry. Organizations that initially bet on automating coding have found that the engineering bill, covering review, debugging, security, and maintenance, still needs to be paid. This bill cannot be skipped; it simply shifts to engineers who possess these higher-level skills.