There is a number that should bother anyone who leads engineering teams. The adoption of AI in software development continues to rise, but confidence in the result is moving in the opposite direction.
The Stack Overflow 2025 Survey, with more than 49 thousand respondents, shows that 84% of developers use or plan to use AI in the development process, compared to 76% in the previous year. Half (51%) use it daily. And, at the same time, 46% distrust the accuracy of the tools, more than the 33% who do. Only 3% trust it strongly.
That's the paradox. We use yet another tool that we trust less. And this is not a contradiction from those who don't understand. It is the sign that maturity has arrived.
The bottleneck has moved
For decades, development's scarce time was writing code. Type the logic, remember the syntax, assemble the boilerplate. AI attacked exactly this point and resolved it well. Today, generating a functional block of code is almost instantaneous.
The problem is that this did not speed up delivery to the extent that the tools' marketing promised. Speeded up draft production. And draft is not ready-made software.
The bottleneck has moved. It's no longer writing, it's reviewing. Evaluate whether that code is correct, whether it is safe, whether it does not introduce a debt that we will pay with interest in six months. AI has moved the effort from creation to verification, and few teams have reorganized the process to do so.
Anyone who treats AI as a typing accelerator is measuring the wrong thing. The real gain only appears when the team also becomes better at judging what it receives.
The plausible but wrong error
The most dangerous characteristic of AI-generated code is not the obvious error. It's a plausible error.
A language model doesn't understand your intent. It produces the statistically likely continuation of your prompt. Most of the time this coincides with what you wanted. But when it doesn't match, the result is usually well written, well named, with the exact appearance of something correct.
It's a code that passes at first glance. Compiles, runs in the happy case, uses the right names. And it carries within it a false assumption: an untreated edge, a race condition, a call to an API that doesn't exist like that, a validation that appears to exist but doesn't cover the real case.
The developer catches an obvious error. The plausible error he approves. And it is precisely this that leaks into production, because it was designed, unintentionally, to deceive the hasty review.
The Technical Debt of Blind Trust
When a team accepts AI suggestions without discretion, technical debt does not grow slowly. It accumulates silently and at speed.
Think about the mechanism. AI tends to repeat patterns. If it generates a suboptimal approach and no one corrects it, that pattern gets stuck in dozens of places. Each copy appears harmless. The whole becomes a structural problem that no one decided to create.
Worse: much of this code has never actually been read by a human. It was accepted. There is a huge difference between code you wrote with thought and code you just allowed in. The second is uncharted territory within your own system.
The bill for this blind trust comes in maintenance. In the early morning incident, when someone needs to understand a logic that no one on the team has ever truly understood. Then last week's speed gain turns into the cost of the quarter.
Security is not a review detail
There is a specific aggravating factor in the security axis. The model was trained on public code, and public code is full of insecure examples: hard-coded credentials, queries vulnerable to injection, outdated dependencies, loose input validation.
AI doesn't distinguish between textbook example and production-ready code. She reproduces the pattern she saw. If most tutorials concatenate strings into a query, this is what it will naturally suggest.
Therefore, the security review cannot be an optional step at the end. Static analysis, dependency scanning and secret checking need to be automatic, running before any merge. AI scales code generation, and any process failure scales with it. What was an isolated slip became a distributed pattern.
How a leader establishes the review process
Here's the part that depends on you, not the tool. Trust is neither decreed nor prohibited. It is built through process. Some concrete decisions that separate a mature team from an exposed team.
First, make it clear that the author of the pull request is responsible for the code, even if the AI wrote it. There is no such thing as "the AI that did it". Whoever submits, signs below. This changes your attitude when reviewing your own work.
Second, calibrate the review by risk, not source. Code that touches authentication, payment, or sensitive data requires in-depth human review, wherever it comes from. A text adjustment or a trivial test do not need the same rigor. Treating everything the same wastes attention where it matters.
Third, automate the mechanical to free up the human brain for the judgmental. Security linters, tests and scanners should stop the obvious on their own. So the reviewer spends energy on business logic, architecture and hidden assumptions, which is where the machine doesn't reach.
Fourth, require the submitter to be able to explain what they submitted. A simple and powerful standard: if you can't justify why that code is correct, it's not ready for review yet. This filter eliminates much of the code accepted without reading. It's also worth reading how this fits into the AI flow in each phase of the SDLC, because review is just one link in the chain.
AI is an excellent generator of first versions and a terrible source of final truth. The leader's job is to design a process that takes advantage of the first quality without falling victim to the second.
The 46% figure is not a verdict against technology. It's a reminder that the profession has matured enough to use the tool with open eyes. Distrust, here, is a sign of competence.
If your team has adopted AI but still reviews the same way it did two years ago, start there. Redraw revision before increasing generation. It is the inversion of priority that most protects the quality of your product today.
Source: Stack Overflow 2025 Survey, with more than 49 thousand respondents.
Also read
- AI in Every Phase of the SDLC: The Phase-by-Phase Guide for Technical Leaders
- AI agents in software development: adopt with governance
- AI in the software development flow: from generating snippet to orchestrating
- What is SDLC with AI: the software cycle rethought
- Synthetic data: the risks and limits that no one puts on the sales slide
- Why TypeScript Became the Standard on the Modern Web
