AI vibe coding and its relationship with legacy code and technical debt
![]() |
| Figure 1. |
It's quite curious how the inspiration for this entry came to me. While attending Mass on December 25th, I was thinking about how AI-generated code, through vibe coding, is somehow related to the legacy code we've often had to work with. I also remembered a talk I attended at the past Nerdearla event in Madrid (the first in Europe) where Alan Buscaglia mentioned a major problem many of us have faced: performing code reviews of AI-generated code. This, in turn, reminded me of the following post, written some time ago by a prominent figure in the world of software development, specifically in the area of testing.-
With all the hype surrounding AI, several problems have already become evident when using it in software development.
It seems that the people making the big business decisions don't realize there's no single, magic solution to every problem they're trying to solve. Or perhaps they do realize it, and are well aware of the risks, but deliberately ignore them. At best, and being overly generous with these people, they may simply be unaware of how scientific and technological advancements work.
AI can now allow us to create (almost) complete applications in under twelve hours for various purposes. Simply write a well-detailed prompt, and the agent will start generating several lines of code in different files, creating a (semi) robust project that's ready for production deployment. And voilà! We have an (almost) functional application.
The details emerge after the application is released to the public, and they usually don't take long to appear. If end users start noticing problems with the application, they'll obviously report them. Whoever was responsible for generating the application will have to investigate the root causes of these problems. But surprise! Where to begin? It's relatively easy to tell the agent what we want to develop, but it's not easy to evaluate all the code it has generated for us.
Before the first AI agents were released to the public, code reviews were a relatively quick process. In an ideal world, pull requests were "small" and at most took three hours to review (I repeat, in an ideal world and "small"). Now we face the titanic task of reviewing thousands of lines of code, generated by AI in less than an hour, and analyzing all that code can take days (yes, days). Any good developer or tester knows that they shouldn't deploy something generated entirely by AI to production. Imagine if they did... What a mess it would create!
Now, imagine the following scenario: Asking the AI to fix the problems reported by users. The AI can do it, but at the same time, it can create more problems and even make unexpected changes. All of this would complicate the development and updating of the application, and eventually generate a huge amount of technical debt.
Another scenario: If someone unfamiliar with the application's development starts working on it, they'll encounter several lines of code they don't understand, and without the proper context, they won't know where to begin. They'll be adrift, struggling with a legacy system, and consequently, the technical debt will continue to grow.
Regarding the latter, workers are already emerging who are taking on the task of fixing all the mess created by the vibe coders, and I imagine they're earning enormous sums of money for their services. Because, of course, this type of work is anything but easy. You have to know which files and lines of code to modify. Reading and understanding what someone else has generated is no simple feat. The following story (perhaps true) illustrates this best.-
Steinmetz was not only renowned as a researcher, but he was also considered a relentless technician. Therefore, when one of Henry Ford's factories began experiencing problems with a newly installed, enormous electric generator, the famous businessman didn't hesitate to ask for his help.
Upon arriving at the factory, the engineer requested a notebook, a pencil, and a cot, and for two days he dedicated himself to listening to the generator's sound and performing countless calculations. When he finished, he asked for a ladder, a measuring tape, and chalk. He climbed with effort to the top of the generator and measured with utmost care, placing a precise chalk mark on a part of the massive machine.
Afterward, he explained to the skeptics present that it was necessary to remove a plate from the side of the generator and eliminate 16 turns of the coil starting from the point where he had made the chalk mark. Ford's engineers followed his instructions, and the generator began to function perfectly.
A short time later, Henry Ford received an invoice signed by Charles Steinmetz for $10,000. The businessman, despite thanking the engineer for his good work, returned the invoice to General Electric and requested a new, itemized one. Steinmetz responded by sending the invoice back to Ford with the following breakdown: “Chalk mark on generator: $1. Knowing where to make the mark: $9,999. Total due: $10,000.”
Ford’s request having been granted, the invoice was paid without complaint. Or at least, that’s what Jack B. Scott, son of a former Ford employee, recounted in a letter he sent to the editors of “Life” magazine in May 1965.
In conclusion, full vibe coding has become a nightmare: billions of dollars, or euros, lost, in addition to reputation.
AI is just another tool, nothing more. Not a substitute for human beings (and it never should be). AI is meant to help us be more agile and efficient in our work (although it has already been shown that senior developers and senior testers take much longer to develop software when using it), but it must be used wisely. I use AI to generate certain pieces of code that I need for my automated tests, but I'm always analyzing what the models generate. I don't blindly follow them. Once, I only let AI do a complete translation of some CI/CD configurations from CircleCI to GitHub Actions for me, but I knew the context of what I wanted, I analyzed the generated code, and I continued to refine it with the help of the intelligent agent. It was a pleasant experience.
As I write this, the AI bubble is about to burst. Let's see how this all ends.
Bibliography.-
- Tong, A. (2025, July 10). AI slows down some experienced software developers, study finds. Reuters. https://www.reuters.com/business/ai-slows-down-some-experienced-software-developers-study-finds-2025-07-10/
- bitacoras.com. (2013, April 15). El hombre que cobró 10.000 dólares por trazar una raya de tiza. Diario ABC. https://www.abc.es/tecnologia/redes/20130415/abci-hombre-cobro-millonada-trazar-201304150921.html
- Thanks to Hiram Guerrero for sharing me this article, written by Enrique Dans, which came to reinforce what I have stated here.- El espejismo del vibe coding: cuando la relajación progresiva convierte al programador en espectador. (n.d.). https://www.enriquedans.com/2025/12/el-espejismo-del-vibe-coding-cuando-la-relajacion-progresiva-convierte-al-programador-en-espectador.html


Comentarios
Publicar un comentario