How THIS long-time dev uses AI

There’s a lot of talk about “vibe coding”, the idea of just throwing prompts at an AI and hoping it spits out something useful. A fairly new term coined by Andrej Karpathy. But “forgetting that the code even exists” might work for a weekend hack project, but it’s not what seasoned developers are doing as far as I can tell.

Experienced coders aren’t handing over the reins. They’re still designing systems, checking code. And treating AI as a helper. A recent article in The Register noted that many senior devs now rely on AI for more than half their work. I’d sat that isn’t “vibes”. That’s experience. Or as Simon Willison says, it’s “using an LLM as a typing assistant”.

Prompts with a Plan

The real difference is in the way they prompt. A non-developer might prompt, “Build me a CRM for patio furniture business”, and leave everything else up to the AI. A veteran knows enough to write out the full plan: stack, database, models, security, tests, APIs, integrations, whatever. The AI is just filling in the details.

That’s where experience shows. Knowing what to ask for, recognizing when the AI stumbles, and steering it toward code that will actually hold up.

Faster in a Different Way

Studies show senior developers get more value out of AI even though they spend extra time fixing what it produces. That’s because they’re looking at the whole project, not just one function. What used to take weeks of boilerplate work can now be sketched out in hours. Then they can focus on design, security, and scale.

AI handles the repetitive stuff: models, services, tests. The human brain is free to solve the harder questions. Where do we draw system boundaries? How do we keep data safe? Can it handle real traffic?

Always Double-Checking

Of course, AI still makes mistakes. It doesn’t understand projects the way humans do. It might try to fix a bug by piling on extra code instead of solving the root problem. In one instance, Claude Code was trying to fix some failing tests and ended up creating various debug files and “test” code in the service class. I stopped the agent, and realized that the parent class of the test wasn’t setting a mock object correctly. A simple one-line fix, but Claude didn’t find it. Experienced developers are able to understand when the agent goes off the rails, and know where to look.

My Process with Claude Code

The PLANNING.md “Trick”

One of the easiest ways to keep Claude on track is to give your project a “second brain.” Start with a PLANNING.md file in the repo, and have Claude break down the project. This doc becomes the single source of truth for the project – goals, architecture, and next steps.

Here’s how it works:

  • Plan first: Outline the stack, features, database, APIs, and deployment.
  • Break it down: Claude splits the plan into small tasks, like setting up auth or writing migration scripts.
  • Stay focused: For each task, start a fresh session with Claude and only prompt it the relevant slice of the plan.
  • Update as you go: When a task is done, have Claude mark it complete and add notes back into PLANNING.md.

This loop keeps both you and the AI synced, so the project grows in an organized way. And also gives you specific points where you can stop and debug.

Plan Mode as a Sanity Check

Another great move is to force Claude to “think before coding”. You can start in “Plan mode” and ask it to outline what it wants to do before writing any code. Approve the plan, or re-prompt if something seems off, then let it generate.

Catching mistakes in plain English is way cheaper than debugging 200 lines of nonsense later. Juniors might miss issues here, but experienced devs can spot when the Claude’s plan doesn’t fit the bigger picture.

Not Vibing, Conducting

So no, senior devs aren’t “vibe coding”. They’re conducting. The AI is the orchestra. It’s powerful and fast, but ultimately… directionless. The developer is the conductor, setting the score and keeping the rhythm.

That’s where coding is heading. Human vision plus machine speed. Less typing every line, more designing systems and guiding AI to build them right.