← Blog

The IDE Is Dead and Your Resistance Is Showing

I keep having the same conversation. Smart engineer, years of experience, building real products. I ask what AI tools they use. They shift in their seat. “I’ve tried Copilot, it’s okay for boilerplate.” Or: “I don’t trust it for real work.” Or my favorite: “I type faster than the autocomplete anyway.”

Buddy. That’s not the point.

The IDE was always a crutch

Let’s be honest about what an IDE actually is: a very sophisticated text editor that helps you manage the complexity of code you wrote by hand. Syntax highlighting so you can read your own code. Autocomplete so you don’t have to memorize APIs. Go-to-definition so you can navigate the mess. Debuggers so you can find the bugs you introduced.

Every feature in a traditional IDE exists because writing code manually is error-prone, tedious, and doesn’t scale well with complexity. The IDE didn’t make you a better programmer — it made you a less slow one.

Now something else makes you less slow. And it’s not autocomplete.

The identity crisis

Here’s what I think is really going on. For a lot of engineers, writing code is the job. Not the output — the activity itself. They identify with the craft of typing instructions into a machine. It’s how they define their competence, their value, their professional identity.

So when you suggest that a machine can do most of that faster, it doesn’t read as a productivity gain. It reads as an existential threat.

You see this in the arguments:

“It doesn’t understand the codebase.” Neither did you when you started. You learned by reading and asking questions. AI tools do the same thing, faster.

“The code it generates is garbage.” Sometimes, yes. So is the code most juniors write. You review it, you fix it, you teach the system to do better. That’s called management.

“I need to understand every line.” Do you understand every line of your framework? Your standard library? Your kernel? You rely on abstractions every day. AI-generated code is just another abstraction layer.

“It’s cheating.” Cheating at what? Getting the right answer? Shipping the feature? Solving the problem? Since when is using the best available tool “cheating”?

None of these arguments are really about code quality. They’re about protecting a workflow that feels like work — the kind where you type a lot and feel productive because your fingers are moving.

The real productivity is invisible

The most productive engineers I know right now aren’t the ones typing the most. They’re the ones who’ve figured out that their job is to think and direct, not type and execute.

They describe what they want. They evaluate what comes back. They iterate. They ship. They spend their cognitive budget on architecture decisions, trade-offs, and edge cases — not on remembering the exact syntax for a regex or typing out a CRUD endpoint for the 400th time.

This isn’t laziness. This is efficiency. This is doing the parts of the job that actually require a human — the judgment calls, the design decisions, the “wait, this approach won’t work because…” moments.

The IDE is dead. Long live the… what?

The traditional IDE as we knew it — a glorified text editor with project management bolted on — is done. The new environment looks different:

  • Intent-first interfaces. You describe what you want, not how to implement it. Natural language becomes the primary input.
  • Ambient intelligence. The tooling understands your codebase, your patterns, your conventions. It suggests before you ask.
  • Generative, not assistive. It doesn’t finish your sentence. It writes the paragraph. The chapter, sometimes.
  • Iterative refinement. You don’t write, then debug. You describe, evaluate, adjust, ship.

The engineers who are thriving right now aren’t the ones resisting this. They’re the ones who’ve realized that the skill they’ve been building for years — systems thinking, problem decomposition, understanding trade-offs — is exactly what’s needed to direct AI tools effectively.

The typing was never the valuable part. We just pretended it was because it was the measurable part.

A personal confession

I caught myself doing the same thing six months ago. I was working on a particularly gnarly orchestration layer and I caught myself thinking “I should write this from scratch so I really understand it.”

Then I realized: I do understand it. That’s why I can describe it precisely enough for a machine to implement it. The understanding is in my head. The typing is just… typing.

I described the system, reviewed the output, caught three edge cases the machine missed, adjusted, and shipped in an afternoon what would have taken me three days of manual coding. The code is better than what I would have written manually, because I spent my time on the hard parts — the design decisions — instead of burning cognitive cycles on implementation details.

The choice isn’t binary

Nobody’s saying you should blindly trust AI-generated code. That’s a straw man. The real position is:

  1. Use the tools for what they’re good at — implementation, boilerplate, first drafts, tedious work.
  2. Apply your expertise where it matters — architecture, security, edge cases, domain logic.
  3. Review everything. You’re still responsible for what ships.

This isn’t about replacing engineers. It’s about engineers who leverage new tools outperforming engineers who don’t. That’s been true since the first compiler replaced assembly programmers.

The compiler won. The IDE won. The search engine won. And now the coding agent will win. Not because it’s better than you at everything — because it’s better than you at enough things that refusing to use it becomes a competitive disadvantage.

The question isn’t “should I use AI tools?”

It’s “how fast can I get good at using them?” Because the engineers who figure this out first aren’t just going to be more productive. They’re going to be the ones shaping how software gets built for the next era.

And the ones still proudly typing every semicolon? They’ll be fine. They’ll just be a lot slower, working a lot harder, to ship the same thing.

That’s not a hill I want to die on.