Featured image of post Why AI Makes Developers 19% Slower (And 69% Still Choose It)

Why AI Makes Developers 19% Slower (And 69% Still Choose It)

A rigorous study proves AI tools make experienced developers measurably slower. Yet most developers kept using them anyway. Are developers just addicted to shiny tools, or is something deeper going on? The answer reveals why we've been measuring productivity completely wrong.

You know that feeling when you’re three hours into debugging, and your brain feels like it’s running through molasses? When you stare at the same line of code for the fifth time, knowing something’s wrong but unable to see it?

Now imagine someone timing you with a stopwatch, concluding you’re “unproductive” because this bug took four hours instead of two.

That’s exactly what happened in the most rigorous study on AI and developer productivity—and why its shocking results might be measuring the wrong thing entirely.

The Study That Confused Everyone

Recently, researchers from METR conducted what should have been the definitive study on AI’s impact on developer productivity. They recruited 16 experienced open-source developers—people with an average of 5 years and 1,500 commits on their repositories. These weren’t juniors fumbling with ChatGPT; these were seasoned professionals using state-of-the-art tools like Cursor Pro with Claude 3.5/3.7 Sonnet.

The results? AI tools made developers 19% slower.

Everyone was stunned. Developers had predicted they’d be 24% faster. Economics experts predicted 39% faster. Machine learning experts predicted 38% faster. Even after completing the study, developers still felt 20% faster—despite the stopwatch saying otherwise.

Here’s the puzzle: if developers felt faster but measured slower, who’s wrong? The developers or the stopwatch?

The Productivity Paradox Nobody Talks About

Here’s what the study missed: the bottleneck for developers isn’t time—it’s cognitive endurance.

Think of your brain like a high-performance engine. Sure, you could run it at redline for eight hours straight. But what actually happens? After a few hours of intense focus, you hit a wall. Bug-spotting ability degrades. Creativity flatlines. You start making mistakes that create more work tomorrow.

It’s like what a mechanic friend once told me: “There’s a difference between building an engine from scratch versus buying one off the shelf. When you build it yourself, you feel satisfied. When you buy it, it’s just… whatever.”

The researchers treated developers like assembly line workers—productivity equals widgets per hour. But software development is more like building that engine. It’s not about your split time installing one component; it’s about sustaining vision and craftsmanship through the entire build.

What “Slower” Actually Means

When developers in the study used AI, here’s what the time breakdown showed:

  • Less time actively coding
  • Less time searching for information
  • More time prompting AI
  • More time waiting for AI responses
  • More time reviewing AI outputs
  • More time… idle

That last one is fascinating. Developers spent more time idle when using AI. To the researchers, this looked like inefficiency. But what if these “idle” moments are actually micro-recovery periods?

The Hidden Benefits of AI “Inefficiency”

Consider what happens during these supposedly “wasted” moments:

While waiting for AI to generate code, you’re not actively problem-solving. Your brain gets a 20-30 second breather—like a boxer getting water between rounds.

These waiting periods have completely flipped my daily rhythm. Before AI, debugging was mentally exhausting work I’d avoid when tired. Now? When I’m drained, I actually start debugging because it’s become the relaxing part.

It’s completely backwards from how things used to be. In the old days, I’d use debuggers constantly, but on large codebases, they take forever. You step through code, run multiple times, hunt for the problem.

Now I just find the thread, identify the starting point, give AI the guardrails about what to focus on—and it typically finds the bugs for me. If not, it generates throwaway test code to isolate the issue.

That’s actually a really big part—before, when I needed to debug, I would avoid writing test code at the beginning because it was time-consuming. Now AI just generates some crappy test code that I don’t need to read or maintain. I just run it, and if it figures out where the problem is, great! I delete the test, fix the problem, and I’m done. It’s menial work that shouldn’t require human brainpower anyway.

While crafting prompts, you’re forced to articulate your intent clearly. This isn’t overhead—it’s emergent design discipline. As I’ve learned to work with AI, prompting has become a habit that helps me document what I’m really doing and what my bigger plan is. You’re thinking at a higher level about architecture and approach rather than getting lost in syntax details.

While reviewing AI suggestions, you’re in critic mode, not creator mode. These are different cognitive processes, and switching between them provides mental variety that can sustain focus longer.

The Learning Revolution Nobody Expected

But the benefits go deeper than just cognitive breaks. AI has fundamentally changed how we learn and work with code.

Before AI, learning was like building with Legos—you learned each piece, then gradually assembled more complex structures. Like a mechanic learning to build a car engine: first the wheel, then the engine, then the transmission. You built from the ground up.

With AI, it’s the complete opposite. You’re learning by tearing apart a working car.

I can generate an entire working frontend without knowing any of the code. I just give AI the API endpoints, and it creates the whole thing. As AI generates the structure, I start learning the bigger picture.

So I learn from the top down. At the beginning, I see the whole app—how does it look? Then, as I progress, I rewrite the components, stores, and functions. I gradually understand the details more and more.

At first, the whole app is a mystery. Then I learn about stores—what is a store? What does it maintain? Then components, reactivity, all those intricate details. Even the behaviors and quirks of specific variables or library functions.

For a car, it would be like starting with a complete working vehicle, but you don’t know what’s going on inside. Then you gradually learn how the engine works, how the transmission works, how the brakes work. You understand the intricacies of each part by taking apart something that already functions.

This isn’t just a different learning style—it’s actually more sustainable. You maintain the big picture vision while AI handles the tactical implementation details. You get to “have the vision without having the burden,” as I like to think of it.

The Measurement Problem

The study measured the wrong metric because it asked the wrong question. They asked: “How long does it take to complete a task?”

The real question should be: “How many quality tasks can a developer complete in a sustainable workday?”

It’s like measuring a chef’s productivity by timing how fast they can chop onions, ignoring that rushing leads to finger cuts and burnout by lunch. Or like those managers who look at developers and think, “You’re supposed to work eight hours a day but you’re only productive for three hours—why are you so lazy?” They don’t understand that the throttle isn’t time; it’s mental load and burnout.

What We Should Actually Measure

If we really wanted to understand AI’s impact on developers, we’d track:

  • Cognitive fatigue scores throughout the day
  • Total productive hours before hitting diminishing returns
  • Error rates and bug introduction
  • Refactoring frequency (are we building maintainable code?)
  • Developer satisfaction and engagement
  • Sustainable velocity over weeks, not hours

The Creative Control Revolution

Here’s something the study completely missed: AI actually makes coding more creative, not less.

When I work with AI, I maintain 100% control of my code. I work collaboratively—at the beginning, it might generate code, but as my idea solidifies, I refactor extensively.

I start by asking AI for a minimal MVP, a rough sketch. The code is probably terrible, but that’s not the point. The point isn’t using AI’s code—it’s getting a concrete picture of what variables I need, what the code must accomplish, what the monitoring points are, what potential problems exist, what classes to create.

Once I have the overall picture, I switch to collaborative mode. Sometimes I even build from scratch again because the AI-generated code isn’t that good. I describe the task based on my vision and ask AI to generate it. If I don’t like part of the code, I reject it and tell AI why I don’t like it and how to improve it. If I still don’t like it, I’ll write the code myself.

When I say AI only does the boring part, it’s really 99% of the time doing just the boring part. The fun part—the part where I control how the code style looks, how it’s maintained, whether it’s high quality—that’s completely in my control. For boring stuff like quality checks and string validation with simple if-else logic, I’ll ask AI to generate it because it really doesn’t have any intricacy. But for architectural decisions, I’m the one who controls what to abstract and what not to abstract.

AI struggles with time-related logic, complex conditional flows, and situations where you need to think, “What do I do in this scenario versus that one?” That’s exactly where human creativity shines. Before AI, your eight hours of productive time was split between creative work and menial labor. Now you get to choose: focus entirely on the creative parts, or do both if you enjoy the routine work.

As someone who’s more of a backend developer, I used to avoid frontend work entirely. But now I can let AI handle the CSS stuff—the Tailwind class names, the HTML structure—instead of me trying to figure out what the right class name is. It lets me do what I want without sacrificing user experience quality. The HTML and CSS still need some tweaking, but it’s already pretty good out of the box, so I don’t need to worry about it.

The difference is choice. Technology has always been about giving us more choices.

The Refactoring Renaissance

One of the most profound changes? Refactoring has become enjoyable instead of terrifying.

Before AI, refactoring meant potentially days or weeks of tedious work. You’d look at suboptimal code and think, “If I rewrite this, it’ll take forever, and customers need features next week.” Technical debt just kept piling up.

Once you’ve established the groundwork, overhauling the entire system becomes daunting. Coding takes so long, and even new code requires extensive debugging and refactoring. That’s scary.

But with AI, refactoring is really easy now. Especially when you know what you’re doing, when you know the big picture and the old codebase. It’s all about writing a description of what you want, pasting the old code, and letting AI generate the new code. It follows your old code patterns pretty well, so if you wrote high-quality code before, you can pretty much guarantee you’ll get high-quality code out.

I really love this. It opens up how you can improve your codebase. You don’t have to think, “My old code design is suboptimal, but if I rewrite it, it’s going to take so much time and effort, and customers need features in the next few weeks. I really can’t do that.” The technical debt just keeps piling up. But with AI, you can always rewrite if you decide to. A few intensive days of work, and you definitely get a brand new codebase that’s way better than before.

The difficult part—understanding the problem and envisioning the solution—is already done. You have a vision of what’s going on, and implementing that vision becomes really enjoyable. Refactoring has become genuinely fun.

The Real Productivity Revolution

The most telling finding? Despite being “slower,” 69% of developers continued using Cursor after the study ended. They weren’t confused or suffering from sunk-cost fallacy. They experienced something the stopwatch couldn’t measure: sustainable productivity.

It’s the difference between sprinting until you collapse versus pacing yourself for a marathon. AI tools might make each mile slightly slower, but they let you run more miles without burning out.

Think about it: when you’re in flow, you don’t really feel the hours going by. What you feel is exhaustion. The real question isn’t “How fast can I code this feature?” but “How much can I accomplish today without feeling completely drained?”

Developers feel faster with AI because they can do more tasks in a day without hitting burnout. They can experiment with abstract ideas quickly—letting AI “test the water” with concrete code before committing to building something. They can switch from high-focus architecture work to low-effort debugging when they need a mental break.

The Frustrations Are Real (But Manageable)

Don’t get me wrong—AI tools aren’t perfect. There are genuine frustrations that slow things down.

The biggest frustration is that AI needs explicit instructions for things that should be obvious. For example, in Python, the latest syntax uses lowercase list, set, and dict, right? But AI—even Claude—keeps giving me the uppercase versions imported from typing. That’s the old, obsolete approach. It will even correct my lowercase list back to uppercase List and add the import typing statement. It’s really annoying unless you tell it explicitly. You either add a comment saying “don’t use uppercase, use lowercase” or explicitly tell it in the prompt: “use modern Python syntax, don’t use uppercase List, use lowercase list.”

The same thing happens with annotations—using Union versus the vertical bar, or Optional versus using the vertical bar with None. It’s kind of annoying, but it’s totally manageable once you get used to it. You develop patterns and build a personal cheat sheet of AI instructions. These quirks become small problems compared to the overall benefits.

Rethinking How We Work

This isn’t just about AI tools—it’s about fundamentally reconsidering how we measure and think about knowledge work productivity.

The industrial age gave us time-and-motion studies, measuring productivity in units per hour. But creative knowledge work doesn’t follow those rules. A brilliant architectural insight during a five-minute “idle” period can save weeks of refactoring. A well-rested developer who worked “only” six focused hours often outproduces someone who ground through ten exhausting ones.

We need to move beyond the stopwatch mentality. I think of life like a tree—we’re free in the sense that we can always make a choice. Like branches of a tree, we can’t change our position drastically overnight, but we can choose to change bit by bit. Your current moment is like being at the tip of a branch—you can choose to grow left or right.

Education gives you more directions to go. If you’re educated, you can go left, right, or middle. Before, we were limited by traditional education systems and wealth barriers. Only if you had enough money could you get proper education, and many people lost choices because of that. But now with AI, everyone’s equal. Anyone can be a software engineer without getting formal education. Anyone can be a psychologist, whatever they want to be. You can learn anything with AI—there’s no limitation to what you can or cannot learn anymore.

The Path Forward

As AI tools evolve, we need to evolve our understanding of productivity alongside them. The question isn’t “How can we code faster?” but “How can we build better software more sustainably?”

Future improvements will likely address the technical “slowdown”:

  • Voice-to-text for faster, more natural prompting
  • Faster AI inference to reduce wait times
  • Better context understanding to reduce review overhead

But even without these improvements, the current tools offer something valuable: they trade a little time for a lot of cognitive burden.

A New Productivity Paradigm

Perhaps it’s time to retire the stopwatch as our primary measure of developer productivity. In its place, we might consider:

  • Can you maintain focus and creativity throughout a full workday?
  • Do you end your day energized enough to learn and grow?
  • Is your code thoughtful and well-architected, not just functional?
  • Are you building sustainable systems or creating tomorrow’s technical debt?

The METR study gave us rigorous data showing AI makes developers slower. But by missing the human element—the reality that our bottleneck is mental, not temporal—they may have proven the exact opposite of what they concluded.

Sometimes being “slower” is exactly what we need to go further. Sometimes the best productivity hack isn’t moving faster—it’s choosing what to sprint on and what to pace through.

In the end, AI doesn’t just make us better developers. It gives us the choice to be more thoughtful ones.