Generative AI coding tools and agents do not work for me

People keep asking me If I use Generative AI tools for coding and what I think of them, so this is my effort to put my thoughts in writing, so that I can send people here instead of having to repeat myself every time I get the question.
From the title you already know that this isn't a pro-AI blog post. But it isn't an anti-AI post either, at least I don't think it is. There are already plenty of articles by AI promoters and AI critics, so I don't feel there is a need for me to write one more of those. While I'm definitely not neutral on the subject, in this article I'm just going to share my personal experience with these tools, from a strictly technical point of view.
AI is not faster
Really the main and most important reason why GenAI tools do not work for me is that they do not make me any faster. It's really that simple.
It would be easy to use GenAI coding tools to have code written for me. A coding agent would be the most convenient, as it would edit my files while I do something else. This all sounds great, in principle.
The problem is that I'm going to be responsible for that code, so I cannot blindly add it to my project and hope for the best. I could only incorporate AI generated code into a project of mine after I thoroughly review it and make sure I understand it well. I have to feel confident that I can modify or extend this piece of code in the future, or else I cannot use it.
Unfortunately reviewing code is actually harder than most people think. It takes me at least the same amount of time to review code not written by me than it would take me to write the code myself, if not more. There is actually a well known saying in our industry that goes something like "it’s harder to read code than to write it." I believe it was Joel Spolsky (creator of Stack Overflow and Trello) who formalized it first in his Things You Should Never Do, Part I article.
You could argue that code that was written by AI can be considered a black box. I guess you can convince yourself that as long as the code works as intended it is safe to use without the need to review it, which would translate into some productivity increase. I think this is highly irresponsible, because the AI is not going to assume any liability if this code ever malfunctions. I'm always the responsible party for the code I produce, with or without AI. Taking on such a large risk is nuts, in my opinion.
This is even more important for some of the work that I do where there are contracts signed, with associated legal obligations and money payments. If I'm hired as a professional, I really have no other choice than to be one. AI tools cannot help me make more money or do my work in less time. The only way I could achieve those things is by degrading the quality of the work and introducing risk, and I'm not willing to do that.
AI is not a multiplier
I've heard people say that GenAI coding tools are a multiplier or enabler for them. Basically those who make this claim say that they are able to work faster and tackle more difficult problems when using GenAI. Unfortunately these claims are just based on the perception of the subjects themselves, so there is no hard data to back them up. I guess it is possible that some people can be more efficient reviewing code than I am, but I honestly doubt it. What I think happens is that these people save time because they only spot review the AI generated code, or skip the review phase altogether, which as I said above would be a deal breaker for me.
Another common argument I've heard is that Generative AI is helpful when you need to write code in a language or technology you are not familiar with. To me this also makes little sense. The part that I enjoy the most about working as a software engineer is learning new things, so not knowing something has never been a barrier for me. The more you practice learning the easier and faster it gets! In recent times I had to learn Rust, Go, TypeScript, WASM, Java and C# for various projects, and I wouldn't delegate this learning effort to an AI, even if it saved me time. Which it wouldn't, because of all the reasons above about being responsible for the code that I produce. Sorry if I'm a bit repetitive on this.
AI code is different than human code
I made all these points to a friend the other day and he asked me why then I gladly accept open source contributions to my projects when they are made by people. Aren't those also code that is not written by myself? Why are those okay but AI generated code is not?
The truth that may be shocking to some is that open source contributions submitted by users do not really save me time either, because I also feel I have to do a rigorous review of them. But I enjoy working with users who have an interest in my projects and take time to report bugs, request new features or submit code changes. These interactions are a source of new ideas more than anything, so they directly help me do better work. This is what I love the most of working in open source!
My friend, who is still unconvinced, suggests I could launch a bunch of AI agents in parallel to create PRs for all my open bugs. It's a game changer, he says. Unfortunately that would cost me money and likely make me slower, for the reasons explained above. Even if we assume that AI coding tools are sophisticated enough (they are not) to fix issues in my projects with little or no supervision, I'm still the bottleneck because all that code has to be reviewed before it can be merged.
The unfortunate side of AI coding tools being widely available is that some users now also generate low effort pull requests with them. I have received some of these, and it's interesting that there is a sort of uncanny valley effect that triggers in me when I start reading AI generated code that hasn't been edited and refined by a real person. When I come across pull requests of this type I start asking questions to the submitters about the weird parts of their submissions, because I consider them responsible for the code they want me to merge. They rarely respond.
AI is not the same as an intern
Many AI advocates say that you should treat your AI coding tool as an intern that is eager to please. I think the people who say this never worked with interns!
In the beginning, delegating work to an intern causes a productivity decrease for you, for the same reasons I enumerated above. Interns need a lot of hand-holding, and all the code they produce needs to be carefully reviewed before it is accepted.
But interns learn and get better over time. The time that you spend reviewing code or providing feedback to an intern is not wasted, it is an investment in the future. The intern absorbs the knowledge you share and uses it for new tasks you assign to them later on. The need for close supervision goes down throughout the duration of the internship. In the end, interns are often hired by their companies as full time employees because they become successful independent contributors.
An AI tool can only resemble an intern with anterograde amnesia, which would be a bad kind of intern to have. For every new task this "AI intern" resets back to square one without having learned a thing!
Conclusion
I hope with this article I've made the technical issues I have with applying GenAI coding tools to my work clear.
In my experience, there is no such thing as a free lunch with AI coding. I believe people who claim that it makes them faster or more productive are making a conscious decision to relax their quality standards to achieve those gains. Either that or they just say this because they personally benefit from selling AI to you.
What's Your Reaction?






