Back in January, I received a note from a senior software engineer in Silicon Valley. He described himself as an AI skeptic who became converted after trying Claude Code for the first time. “Overnight, it changed the way I do my job,” he wrote. “It’s really, really good.”
As he explained, he no longer used a standard development environment. Instead, he “exclusively uses Claude Code” to get the job done, interacting with the tool in a terminal window and allowing it to program on his behalf.
“If I had to guess,” he concluded, “I’d say a task that would have taken me a week now takes me 2 days.”
This past winter, when I surveyed more than 300 software developers to learn how AI was transforming their jobs, the majority told a similar tale of shifting from writing their own code to instructing AI agents. The speed with which this new tool became ubiquitous in this industry was stunning.
This story matters for the rest of us because AI coding tools have emerged as the prime example of the power of AI—the first step of many more soon to come on this technology’s disruptive march through our work and our lives.
But what if the reality here is more complicated?
Last week, I received a new message from that same senior engineer who wanted to share an alarming addendum to his tale…
“I’m writing to give you an update on my current thinking about the state of AI in software engineering,” he began, “because my attitude has shifted quite a bit.”
He told me that features he generated using Claude Code ended up crashing their product on two different occasions. His boss told him that if it happened one more time, he’d be fired. “I’ve never had quality issues like this before in my career.”
The problem is that code produced by an AI agent looks reasonable, but can contain ‘hard-to-spot bugs’ that end up causing major problems. As a result, you should carefully review your agent’s output, but this is difficult. As the engineer told me, it’s “famously hard” to understand code you didn’t write yourself, so this extra step becomes “easy to just blow it off (especially when we are all trying to ‘10x’ our velocity).” Soon, systems start to break.
“The coding harnesses are useful and make life as a developer easier,” he summarized, “but they also encourage laziness.”
In response to these issues, this disillusioned engineer has returned to largely programming by hand. Here’s how he explained his current philosophy:
“Writing your own code, slowly but surely, and using LLMs for narrow or particularly annoying tasks (say like writing tests or throw-away scripts), is the best way to produce the highest quality code, since it’s the only way to properly understand it.”
Here’s the thing: he’s not alone.
I increasingly hear similar rumbles from many other people in the software industry (see, for example, this podcast episode from May). Tools like Claude Code can feel like magic, but the strategy of outsourcing all code production to AI isn’t currently sustainable.
In addition to reliability issues, it often engenders a mind-numbing workflow and an environment where junior developers will never acquire the expertise to become senior developers capable of designing complex systems.
Meanwhile, as the frontier labs reduce their subsidies on underlying computing costs, the old habit of burning through as many tokens as possible in search of workable results is proving prohibitively expensive.
From the outside, software development seemed like the poster child for AI’s potential. On the inside, it’s a mess.
This doesn’t mean that coders will abandon AI; its facility with programming languages is too valuable to ignore. But I think there’s a lot more work to be done trying to figure out how to integrate AI into this industry in a way that actually works.
This is a key point.
This last year has been exhausting. The PR departments of the frontier labs have done an excellent job convincing us that AI developments are occurring at an astounding, world-changing rate. But if you zoom out, it becomes clear that almost every “breakthrough” since last summer has concerned the narrow domains of computer code and math, which are defined by highly structured languages and come accompanied by massive amounts of specialized training data.
And yet, even in this best-case-scenario setting for AI, we’re still struggling to figure out how to actually use these tools in a way that makes sense in the long run.
This doesn’t mean that AI doesn’t work or is useless. But it does emphasize an important truth: AI is not a magic “infinity machine” that can solve all our problems, and ultimately deliver us a sense of meaning in a cold, confusing world. It’s a normal technology, and perhaps it’s time we start talking about it that way.
From most companies I hear about, the two common camps are.
Frontend devs fucking loving AI agents to code and do as much as possible. Because if something breaks, yeah we’ll ship something new and the few missed interactions didn’t truly matter.
Backend devs do not trust AI agents to the same magnitude, they’re fine outsourcing non critical parts which rarely are prioritised. Such as tests and documentation, both of which LLM based tools excel at. But having LLMs generate all the code, which if anything breaks within. Welp, fuck. Did we just ship 10.000 orders at half price? That’s an issue.
Well we’ve already seen a lot of companies not understanding development disciplines before the LLM craze, having client side developers make server side code because it’s nodeJS they know JS. Well language is secondary, and you’ll figure that out when incredibly simple bugs are shipped to the server side code.
I think there’s at least one more year of runway, before we’re seeing any greater understanding from C-suites in general. For why a developer isn’t just a developer, why some are specialised in servers and some in clients. Because those disciplines are miles apart.
Are you a backend dev?
Laid off backend dev, because the market is in tatters
I tend to agree with Cory Doctorow in that LLMs are not the amazing breakthrough tech that AI companies have been gaslighting management into thinking they are. This tech should really be thought of more like plugins are - a useful, albeit limited, aid for speeding up some of the more tedious tasks.
Of course, only an idiot would look at the vast piles of money burned and resources wasted for a plugin and think that makes any sense.
Another aspect is that “some of the more tedious tasks” already had tons of ways to be sped up but the brain-dead LLM pushers had never actually tried to optimize their workflows before and thought LLMs would make them be as good as their much more competent peers without actually learning anything.
It’s everywhere. Can’t code for shit? Just use a LLM bro. Can’t create art? Just throw your prompt at the latest slop machine. Too lazy to write anything? We can help with that. Women too stuck up and woke to talk to your nasty self? Guess what, our LLMs will tell your just how special you really are.
Sometimes I just want to go live in a cave.
I agree with that. Well put
“I’ve never had quality issues like this before in my career.”
That seems unlikely because it’s his carelessness that let these hard-to-spot bugs through.
Basically, if you want to get anywhere with AI coding, you have commit to extremely high standards. You have to insist on the cleanest code possible, that makes bugs easier to spot. You have to completely understand every line of code that you generate. You have to insist on every line of code fully tested. You have to become an elite code reviewer, not only able to critically review other people’s code, but who reviews your own code without bias, and always reviews it before sending it to others.
Interestingly, these are the same things that define a good programmer who doesn’t use AI. And all of that stuff takes a lot of time.
So, that’s the issue with AI, at least today’s generation of AI. You can use it reliably if you’re already a great programmer, and it’s bound to save you some time, but not as much time as others save who are skipping a bunch of steps. If you’re not a great programmer, you need to learn to become one to use AI well. Otherwise, it just exposes how shit you are in a way that didn’t happen before when you tried to stay in your lane and write software yourself. At least when people write it themselves, they are more likely to understand what their code is doing.
Genuine question, how can anyone do everything you say and still save time using AI? If you have to check everything it does to that level of detail, which I agree you have to, then where are you saving time? The only thing it “saves” me when I try to use it is the typing, which is far from the bottleneck. And in exchange I have to do the prompt and an extra very deep code review of the code I didn’t type which takes way longer for any non trivial change.
I also thing you are mising the point. Reviewing my own code or code written by a person is orders of magnitude easier than reviewing AI code. The mistakes a human makes are usually simple off by one errors and similar, or missing understanding of edge cases which are easy to spot in a review. The mistakes made by AI are usually a small random variation of an okish solution which are incredibly easy to miss given that the brain autofixes on the fly, just like trying to find small typos in a wall of text.
It’s also wrong to pretend that AI doesn’t promote the kind of laziness you are critiscising, specially because people are expecting huge productivity gains.
In my experience AI is barely useful as a SO alternative, and even then is hit and miss for anything not trivial. For example, I tried to use it when starting a new KMP project in which I wanted to share code between jvm and android. I figured that this being a boilerplate configuration task it could accomplish it, but it just produced non working gradle files while trying to create a nonsensical project structure. To me, everytime I try to use it on anything but the most common technologies and the most standard code structure it fails misserably. So again, I’m curious where do you see it saves you time?
I think you’re asking the right questions, and I think that, since this is a factual question, it is best solved by experiment.
Like, even if I think it’s faster, that might actually just be a quirk related to its novelty. Maybe it simply seems faster, or maybe it is faster, but only because it’s somewhat fun that it’s different, and eventually it would come back down to the speed of manual coding.
A carefully controlled experiment with many participants is certainly the best for figuring this out.
If you really want me to guess why it might be faster, I think it’s the fact that you save time reading code and reading documentation, which takes quite a bit of time while coding. AI is able to recall this sort of data with incredible speed, at the cost of some weird hallucinations and other mistakes. It’s just a guess, though.
I’ve seen this experiment, which concluded something like “shifts time downward to review and fix, rather than elimination.” Will have to find that for you.
Edit: maybe this one? https://arxiv.org/abs/2607.01904
Wondering if I actually read an article referencing a paper.
Edit 2: this: https://www.faros.ai/blog/ai-software-engineering
That’s interesting, and I think those results show that those in the study were not following good practices in the first place. Particularly how they said the quality went down.
The quality obviously doesn’t have to go down, and I mean from the first person in the chain. They don’t have to send out code reviews with more bugs in them than human generated code. They just need to thoroughly review and understand the code that is generated. The experiment I’d like to see is where they ensure that the quality doesn’t go down, and compare those development times.
Reviewing other peoples code is absolutely miserable. No wonder they didn’t do a good job with it.
“They’re just using it wrong”. If no one can use it right maybe it’s not that great a tool.
Coders will abandon AI, one way or another. Either willingly, or by dying like the rest of humanity when summers reach 60°C.
it’s great for generating code
but you have to double check everything because 80% accurate is disastrous for code
i like this creative process but i’m fairly sure it’s economically not much different
All studies show that it produces worse results and hidden bugs, how is it great?
You don’t use a slop machine to make software. Or anything elae.
Coders will abandon AI
I secretly wish for it, but that will probably never happen. But the ridiculous excesses - like running hundreds of LLM agents in a loop to write your software - will go away. They’ll be way too expensive to run for most companies after the subsidies run out.
Lmao. Like everyone abandoned the internet after the dot com bubble.
The internet existed for 30 years before the bubble, it was useful, and it was way more than a dotcom supermarket.
LLMs are nothing more than a shitty text generator.
Either willingly, or by dying like the rest of humanity when summers reach 60°C.
I mean all of us will abandon everything that way, that’s not specific to AI in any way.
It’s specific to AI because it’s one of the main factors right now.
For localized environmental strain (like heavy water usage or regional grid pressure) it’s entirely true , but certainly not in the big picture of global climate change. Fossil fuels, heavy industry, and agriculture are the actual main drivers. Blaming AI for “60°C summer” completely misses the point.
It is not even close to being a main factor at the moment. Main factors are still transportation and manufacturing. Trump’s war in Iran is doing way more to reduce global emissions than the data center protests (though it’s great that those are also happening). Same for Putin’s war in Ukraine which started the fuel price raises.
It really isn’t, its a rounding error compared to eating beef or driving cars.
Are you seriously positing that AI is one of the main factors driving climate change?
It’s a source that didn’t exist until recently, supports ultra capitalist, consumerist and fascist ideologies which absolutely oppose climate awareness, and is growing constantly while requiring a gigantic amount of resources.
It is one of the first levers that need to be pushed on if you want anything to change, and is much, much, much easier than to regulate things like cars and agriculture that would cause a major social shift.
Climate change is something that you fix by thinking about the future too, not just the present.
It’s quite literally 0.1% of emissions globally.
It’s perfectly fine to be against AI for whatever reason you so happen to choose, but to call it one of the main factors behind climate change is beyond inaccurate
You think 1/1000th of emissions and growing for something that isn’t nearly as useful as boosters pretend is no big deal?
I don’t think that most will abandon in the future, as the Ai even becomes better and most people only look at the surface. The biggest problem (besides the unethical training data and not respecting licenses from the original data) is if you don’t know what it produces and don’t check it without understanding. Where it can be useful is aiding in code analysis, but not replacing it. And most will shift to local available models (I hope so), as local hardware becomes better at it too.
I’m not the biggest fan of Ai at all. But I don’t see a reality where Ai disappears in the future, unless every company is doing it gets bankrupt. Looking at Microsoft and Nvidia, this sounds unreasonable. Because if one major player like Anthropic goes down, another one will rise up, maybe from China.
No shit.
One of the problems is all the people who were fucking wrong don’t suffer any lasting consequences. They will be listened to again.
Eh, there were and are extremists at both ends
So they came to the conclusion that the actually competent people they refused to listen to said after touching it once.
PR departments
lol, I read this as a psuedonym for open source developers under the deluge of AI pull requests
Thank you for sharing this, OP. It was a very insightful article.





