AI Made Us Fast. But Did It Make Us Better?
Why I still think learning slowly is a developer superpower.
Let me start with a confession: I love AI coding tools. I use Cursor, Claude, agentic workflows, the whole stack. I’ve shipped things in hours that would’ve taken days. I’ve built prototypes over a weekend that would’ve been “next quarter” projects before. It feels like a cheat code.
And that’s exactly why I’m worried.
The productivity trap
Here’s the thing nobody talks about at the AI-in-dev-tools conferences: if an agent writes 10x more code than you, there are 10x more chances it introduced a bug. That’s not a hot take, it’s just math. But somehow, we’ve developed this collective bias where we assume the AI’s output is probably fine.
Why? Because once or twice, it nailed the problem perfectly. It refactored that messy function. It wrote that regex you’d been avoiding. It built that entire component from a one-line prompt. And from that moment on, our supervision dropped. We stopped reading every line. We started vibing.
I get it. Reading AI-generated code is boring. It’s like proofreading someone else’s essay. You know the general shape is right, so your eyes glaze over the details. But the details are where the bugs live. The details are where the subtle architectural decisions happen that you’ll be living with for the next two years.
The middle ground that doesn’t exist
I’ve been thinking about this a lot lately, and I’ve come to an uncomfortable conclusion: there’s no good middle ground between “I control the code” and “I let the agents do everything and don’t even look.”
Think about it. The moment you delegate everything to agents, who can produce 100x more code than you, there’s no way to keep up as a human reviewer. You’d need to delegate the code review too. And then the testing. And then the architecture decisions. It’s agents all the way down.
Historically, engineering teams built guardrails precisely because we didn’t trust any single person to get it right: checklists, multiple approvals, sign-offs from the engineering director. Those processes existed to enforce going slow as a value. To make sure nobody pushed something sketchy just because they were in a rush.
Those processes haven’t disappeared, but the spirit behind them has taken a hit. The vibe has shifted from “let’s be careful” to “let’s be fast.” And speed is great, until it isn’t.
The experienced developer’s secret weapon
Here’s what I think gets lost in the AI hype: the most important skill of a senior developer has never been typing speed. It’s judgment. Knowing when to push back. When to say “no, we shouldn’t build that.” When a product requirement sounds reasonable but will create a maintenance nightmare.
AI agents are happy to build whatever you throw at them. That’s their whole thing. You say “build it,” they build it. They don’t push back. They don’t tell you the feature isn’t worth the complexity. They don’t have opinions about whether this migration is the right call, or whether you’re over-engineering a solution to a problem that doesn’t exist yet.
That judgment comes from years of making mistakes, maintaining bad decisions, and slowly developing an intuition for what good software looks like. Which brings me to the part I really want to talk about.
Learning slowly is a superpower
I caught myself the other day about to ask Claude to generate an SVG animation for me. And I stopped. Not because the AI couldn’t do it. It absolutely could, probably better than I would on a first try. But because I wanted to understand how it works.
This is the paradox of AI-assisted work: the reason we were so productive when AI tools first showed up is that we had spent years learning things the hard way. All that slow, painful, tutorial-following, Stack-Overflow-reading, “why doesn’t this work” frustration? That’s the foundation that made us good at prompting. We knew what to ask for because we knew what the answer should look like.
If we stop investing in that slow learning, we’re eating our seed corn. We’ll get faster in the short term and dumber in the long term. We’ll become prompt jockeys who can’t debug the output when the model gets it wrong. And it will get it wrong.
So I’ve been making a conscious effort to keep learning things manually. Not everything, obviously. I’m not hand-writing SQL migrations for fun. But when I encounter something I don’t understand, a CSS technique, an animation library, a system design pattern, I try to sit with it. Build it by hand. Make mistakes. Go slow.
It turns out that learning slowly makes you a better prompt engineer too. When you deeply understand a domain, you can spot when the AI is confidently wrong. You can write prompts that guide the model toward actually good solutions instead of just plausible-looking ones. You can review the output with real expertise instead of vibes.
So what do we do?
I don’t have a clean answer. I’m not going to tell you to stop using AI tools. I’m certainly not going to. But I think we need to be honest about the trade-offs.
Speed is not quality. Output is not value. And the developer who can do the thing without the AI is always going to be better at doing it with the AI.
Keep learning slowly. Keep building things the hard way sometimes. Keep that muscle alive.
Because the agents are going to keep getting faster. The question is whether we’re going to keep getting better.