¶ Has AI conquered coding?
Within technology circles, there's a lot of buzz right now about a recent essay written by a professional programmer and entrepreneur named Lars Fay. It opens with the following description of the current state of affairs of AI driven software development. I'm gonna read here.
This workflow takes many shapes at this point, but in general, it is a process where someone defines the project's requirements, generates a plan, And then pulls the slot machine lever over and over, iterating and reiterating with often multiple agent instances until it's done. All the while putting a growing distance between the orchestrator and the code that is being generated and committed.
Now, this new approach to computer programming has thrown the industry into a frenzy of excitement. And I really do mean excitement. Let me read you a real quote from an essay that a developer posted just a couple months ago. Now I'm reading here. What a fantastic time to be alive. With Claude Code, I have become, if I do say so myself, a 10X developer.
Sometimes it feels like 100x. I find it all thrilling and amazing. It's all intoxicating to watch Claude Code work, to ask it to do something that I know would take a week. Or to have it figure out some complex bug that I would have taken three days to debug is almost too much to believe. I don't have the superlatives to describe it. Hmm, now what does that rhetoric remind me of? Whoa, that's a full rainbow. All the way. Double rainbow. Oh my god. It's a double rainbow all the way.
Whoa, that's so intense. All right, joking aside, this vision points to a massive change. for the world of software development. In this new world, no one would need to learn to code again. English will be the new abstraction layer. Just explain what you want and the AI will create it. And as a consequence Millions of well-paid and highly skilled software developers will will be replaced by a small number of hyper-caffeinated orchestrators who manage hordes of tireless coding agents.
But is this vision accurate? Well, it's Thursday, which means it's time for an AI reality check episode of this show, which is a good opportunity to take a closer look. And indeed, if we return to Lars Fay's essay, we quickly find that he's not a believer in the idea that we're on the path to a world without code. If anything Fay thinks that this new style of software development isn't sustainable, a belief he captures bluntly in the title of his essay Agentic Coding is a trap.
Now this seems like an argument that gets at the heart of so many issues about AI and knowledge work and hype and reality. So clearly we need to take a closer look, and that's exactly what we're going to do. As always, I'm Cal Newport, and this is Deep Questions. The show for people seeking depth in a distracted world. So what's Lars Fay's issue with the current vision of agents taking over all coding? I want to read you another quote from his essay.
¶ Lars Faye quote
Being successful with a pr with this approach to coding agents hinges on a rather crucial element. Only a skilled developer who's thinking critically and comfortable operating at the architectural level can spot issues in the thousands of lines of generated code before they become a problem. Yet in an ironic twist of fate, It's the individual's critical thinking skills and cognitive clarity that AI tooling has now been proven to impact negatively.
As Fay elaborates, this idea that AI is undermining the very skills needed to use AI effectively is not an abstract fear. It's actually happening right now and at wide scale. And it's something that programmers are really starting to talk a lot about. To support this claim, Faye points to a bunch of posts from Reddit where people are worried about exactly the skill. I want to read you a few headlines and quotes from uh that Faye points out here. Okay, so here's one. The headline is
Losing my ability to code due to AI. And the post goes on to say, I feel like my skills are really deteriorating. I think that inherently not understanding the syntax is a problem in itself. I might be missing something. But uh a lot of it takes a lot of time to check that AI hasn't made a mess or create subtle bugs, and you have to understand the language and how to write in it. All right, here's another headline from Reddit.
Handling feeling dumber or like losing skills due to the need of using AI. That post includes the following quote. Every time I use AI to do anything, I feel like I'm losing my skills that I and that I become a worse professional. Another Reddit post is titled, Letting AI do 100% coding fried my brain. Help. It goes on to say, lately I've found myself struggling with my general cognitive skills and problem solving skills.
Now these examples are about established developers who are losing their ability to think in code, but what about junior developers? As Faye points out, the problem here becomes even worse. Struggling to write code from scratch is how you get better.
¶ Skipping the struggle step
at understanding and reviewing code. If you skip the struggle step and jump straight to the code review, You don't have any skills to fall back on. All right, here are two recent uh Reddit headlight headlines about this phenomenon that Faye highlights. The first is Juniors on my team ship fast, but can't debug anything they didn't actually write. Another headline says, Hired a junior who learned to code AI. Cannot debug without it. Don't know how to help them.
Now in my world of computer science, this is a well known effect called the junior year wall. Right, which describes what happens in a C S curriculum when a C S student uses AI to do most of their basic coding related classes. But then when they face challenging classes during their junior year, their lack of understanding catches up to them and they struggle.
Faye is saying that this is basically uh the junior the junior year wall effect is basically happening in the whole coding industry writ large, and that this is a problem. So after I read this essay, I asked a veteran developer I know, someone with 30 years of experience, whether or not it matched his current experience. And he said it largely did.
He then offered four additional points about the current state of affairs and programming. They're nuanced. I'm gonna read them to you because I think it's important. All right, here's point number one. He said these tools do get the job done faster.
¶ Point #1
If you are a highly skilled developer and have lots of good rules and guidance in place. If you use the tools correctly, it is in fact much ta faster than typing code out by hand while still producing quality code. This is why I'm still using them despite all the problems I'm about to state. He then goes on. Point number two.
Context switching and attention fragmentation are a huge problem. Agentic system shouldn't go unsupervised for large chunks of time, and they aren't immediate, so you're inherently stuck with one to two minute wait.
¶ Point #2
Your choices are to sit around or multitask, and this leads to out of control context switching, lower quality output, and mental exhaustion. All right, point number three, he says, on a personal level, I absolutely feel the effects of skill atrophy. This used to be my source for deep work. It no longer is.
¶ Point #3
His fourth point. Agentic coding is going to become a huge problem for software teams in the next few years. I'm already seeing management at several companies I work with.
¶ Point #4
Turning to token counts as a productivity measure. Just like lines of code was a misguided KPI, this will be another measure of how fast you're spinning on the hamster wheel. Engineers will burn out. And produce worse and worse code as time goes on. It has the same problem of reducing friction in the wrong places, leading to the same problems you've outlined with Slack and email.
All right. So having outlined these complaints, and again, let me just summarize them real quick, right? If we rely almost entirely on agents to generate code and we just describe what we want. As senior developers will lose their ability to actually understand code, which is needed to ask for the right things and to check the code that the agents produce. And junior developers will never learn coding skills in the first place, which means they won't really be able to work.
usefully with agents at all. All right. So what is the solution here? Is it to throw AI tools out the window? No.
¶ Solution
Faye still uses them, the developer I still talk to use them, but we're gonna have to think much more carefully about how we integrate AI coding tools into software development. Now Lars Fay has a suggestion, which he summarizes as Demote AI's role. All right, he says, and I'm quoting here, I'm certainly not advocating for typing out all code manually. He then soon adds, What I am advocating for though is leveraging LLMs and coding agents as secondary processes.
A way that doesn't sacrifice the individual skills at the altar of productivity. Fay then goes on to give more details about what he means here. He he clarifies it. He uses LLM LLM's more for specs and planning and less for coding, which he does on 20% to 100%. He'll he'll write 20% to 100% of the code himself, depending on the importance of the task. More important task, more code he writes.
When he does have the LLM write code, he often provides it pseudocode. So basically uh pseudocode, if if you don't know, is like um It's like a programming language, but less syntactically demanding. So it's like you're actually giving com uh programming language style demands, but you don't have to be super exact about every semicolon or parenthesis.
But you're basically saying this is what I want you to do, this loop, this check. And then the LLM can take that and put it into the proper programming language that's being used. He also says, I never ask an LLM or agent to implement something that I've never done before or couldn't do on my own. All right, let's step back here. What Lars Fay and others are beginning to realize is that AI being good at something doesn't necessarily mean that it can easily replace humans.
They are seeing a world in which people still need to learn to code. At first, they might code things AI could easily do just to build skill. And then as they get more senior, They can use AI more often and leave their coding time for more complicated or mission critical features and spend more of their time reviewing code. And they can do this review because they've learned and maintained their own programming abilities.
Now to be clear, this is a vision of a world in which AI coding tools are ubiquitous and they really do make software development much faster and cheaper. As I mentioned, Faye uses coding agents, as do most of the developers who agree with his warnings. But this vision is of a world that is not unrecognizable from the one we live in today. It's not a world where computer code doesn't exist. It's not a world in which
the ranks of software developers catastrophically contracts. Now look, I don't know if Faye is correct. It's hard to predict the future and what's going on within computer programming and software development is fast moving. But the fact that he's attracting a lot of respectful attention in the software industry at the moment is an important reminder of something that we've learned time and again in the history of technology.
Reality is almost always more complicated and uneven than enthusiasts would like or predict. And there's no reason yet to believe that AI is an exception to this long standing rule. All right, that's all I have for today. Remember, you should care about AI, but not trust everything you read about it. All right, thanks. Hey, if you made it this far.
You must be ready to join my fight for depth in a distracted world. Now, the best way to do this is to join over 125,000 people who receive my email newsletter each. Monday, you can sign up at calnewport.com slash ideas. And when you do, I will send you a free guide to my seven best ideas about cultivating a deep life. Sign up today, calneuport.com.
