AI coding assistants: superpower or technical debt machine?
Over the past several months, our engineering team has been running structured experiments with AI coding assistants like Claude, Copilot, and others across real projects.
The goal was simple: understand where these tools truly add value, and where they fall short.
The results? A mix of magic, frustration, and important lessons for anyone serious about building long-term, maintainable software.
The Magic Phase
At first, it felt like we had unlocked a superpower.
“You tell it what page you want — it writes controllers, views, even tests. Superpower-level coding.”
Simple CRUD pages, migrations, and boilerplate flew off the screen. The speed was intoxicating. Suddenly, repetitive tasks that normally take hours could be done in minutes.
For engineers who know exactly what they want, this was a revelation.
The Reality Check
But soon reality set in.
“It forgets instructions, reinvents components, and leaves tasks half-done. You spend more time fixing than saving.”
We found that as projects grew more complex:
- AI often ignored existing components, duplicating code instead of reusing it.
- It forgot earlier instructions mid-session, forcing us to repeat ourselves.
- Documentation and context had to be manually curated, otherwise results quickly drifted.
- Larger architectural decisions led to weak abstractions and instant technical debt.
One engineer summed it up perfectly:
“If you give it freedom, you get technical debt from day one. It works, but tomorrow’s feature will break it. Architecture still has to be done by humans.”
Where AI Shines
Despite its shortcomings, AI assistants are genuinely powerful in the right hands. Some of the biggest wins included:
- Boilerplate generation: CRUD templates, migrations, and repetitive code scaffolding.
- Testing: Writing initial test coverage, especially when given clear guidance.
- Naming: Variables, commits, and localization keys, surprisingly consistent and useful.
- Workflow automation: Pulling in task descriptions from Jira, creating GitHub pull requests, and even drafting commit messages.
- Inline coding support: Copilot, in particular, shines at autocomplete-style support for HTML and repetitive structures.
These areas save hours of effort and reduce mental load, especially for tedious, repetitive work.
Where AI Fails
The failures were just as clear:
- Architecture & abstractions: Left to its own devices, AI creates brittle designs.
- Visual/UI work: Produces generic, often poor-quality interfaces.
- Complex feature builds: AI tends to “give up” halfway, leaving incomplete work.
- Context retention: Long sessions cause it to forget prior instructions or documentation.
And perhaps most importantly, AI doesn’t know when it’s wrong.
“If a junior doesn’t know what good code looks like, AI just tells them they’re right — even when they’re wrong.”
This makes AI assistants dangerous in the hands of inexperienced developers. Without strong oversight, they amplify mistakes instead of correcting them.
Amplification, Not Replacement
The key insight from our experiments is that AI coding assistants don’t replace engineers, they amplify them.
- In the hands of an experienced engineer, AI speeds up boring work, generates solid starting points, and frees up mental energy for the hard problems.
- In the hands of a junior, AI provides a false sense of security and produces unscalable solutions.
Used wisely, they accelerate progress. Used blindly, they bury you in debt.
The Road Ahead
These tools are improving rapidly. Compared to where they were even a year ago, the progress is undeniable. But they are not yet at the point where you can “set it and forget it.”
They require documentation, discipline, and above all — experienced engineers who know what “good” looks like.
And maybe that’s the real story: AI coding assistants aren’t here to replace us. They’re here to change how we code — shifting us from writing every line ourselves to designing, curating, and correcting.
The challenge is knowing when to lean on them, and when to take back the keyboard.
Final Thought
AI in coding today is both a superpower and a technical debt machine. Which one you get depends on how, and who, uses it.
Discover More Reads

