Six months ago I thought the goal was to use AI as much as possible. Autocomplete everything, generate everything, let the model do the heavy lifting.
That approach burned me out faster than coding without it.
Here's what I learned about using AI tools without losing your ability to think.
The noise problem
Autocomplete is fast. It's also constantly suggesting things. When you're mid-thought trying to work out a design problem, a suggestion appearing in your editor is an interruption — not a help.
The fix: turn off inline suggestions for the parts of coding that require actual thinking. Design phases, architecture decisions, figuring out the right abstraction. Turn them back on for implementation — the mechanical translation of a clear decision into code.
Two modes, not one.
What AI is actually fast at
- Boilerplate that follows a pattern you've already established
- Test cases once you've written one and shown the pattern
- Type conversions, format transformations, mechanical operations
- Finding where something is defined across a large codebase
- Writing the same thing in a different shape (rename variables, adjust structure)
What it makes slower if you're not careful
- Deciding what to build
- Understanding why existing code is structured the way it is
- Debugging non-obvious behavior (AI guesses; you still need to verify)
- Any work where you need to hold the full picture in your head
The dependency trap
If you use AI for everything, you stop building the mental models that let you catch bad suggestions. The model generates code that compiles and looks plausible. You approve it. Six months later someone asks you to modify it and you don't understand what it does.
The rule I use: generate the code, then read it as if you wrote it yourself. If you can't explain every line, you don't own it yet.
What actually helps focus
Single-purpose sessions. Open a terminal, open your editor, know exactly what you're building before you start. Don't use AI to figure out what you're building — use it to execute once you've figured that out.
The clearer the task going in, the more useful the AI output. Vague prompts produce vague code. Specific prompts produce specific code you can actually use.
The baseline still matters
Understanding data structures, algorithms, how your language and runtime work — none of that matters less because AI exists. It matters more, because you need to be able to evaluate what the model produces. You can't review code you don't understand.
The developers who get the most from AI tools aren't the ones who use them the most. They're the ones who know when to reach for them and when to put them down.
My Claude Code workflow notes: builtbyzac.com/post-state-file.html.
Top comments (0)