While AI Codes, I Work on the Part It Can't See

While AI Codes, I Work on the Part It Can't See

While AI Codes, I Work on the Part It Can't SeeMaggie Zhou | AI SaaS Maker

There is a strange pause that happens after you send a coding agent a prompt. The terminal starts...

There is a strange pause that happens after you send a coding agent a prompt.

The terminal starts moving. Files change. Tests may run. A plan appears, disappears, and turns into a diff.

For a few minutes, it feels like the machine has the keyboard.

So what are you supposed to do?

At first, I treated that pause like free time. I checked messages. I opened another tab. I let the agent work and waited for the result.

That was a mistake.

The more I use AI coding tools, the more I think the most important developer work happens during that pause. Not because I need to type faster than the agent, but because I need to keep track of the parts it cannot actually see.

AI can move through code faster than context
An AI assistant can read files, follow patterns, and generate a plausible implementation quickly. That is useful. It can remove a lot of repetitive work.

But speed through code is not the same as understanding the product.

The agent may know what the function does. It may not know why the team avoided a certain abstraction six months ago. It may see the test names. It may not know which behavior customers depend on even though nobody documented it clearly.

That is the part I try to work on while the agent is busy.

I ask myself:

What problem are we actually solving?
What should remain boring?
What tradeoff would I defend in review?
Which edge case matters to the user, not just to the code?
What would make this change feel wrong even if it passes tests?
Those questions do not always produce code immediately. They produce judgment.

And judgment is still the bottleneck.

The prompt is not the full spec
I used to think better prompting was mostly about being more detailed.

Now I think detail helps only when the underlying intent is clear.

You can write a long prompt and still miss the important part. You can describe the UI, the data shape, and the expected output, but forget to mention the feeling of the workflow: whether the user should feel guided, interrupted, in control, or protected from making a mistake.

AI can implement the words you give it.

It cannot always infer the silence around those words.

That silence is where a lot of product work lives.

When an agent starts coding, I often rewrite the request in my own words. Not for the tool, but for myself. If I cannot explain the change simply, I probably should not trust the first generated solution.

Review starts before the diff is ready
The easiest trap is waiting until the agent finishes before reviewing anything.

By then, the implementation has already chosen a path. You may still reject it, but you are now reacting to a concrete shape. That can be useful, but it can also make you accept assumptions just because they look complete.

So I try to review the direction before I review the code.

If the agent says it will add state to a component, I ask whether the state belongs there. If it plans a helper function, I ask whether the existing codebase already has a pattern. If it creates a new file, I ask whether the concept deserves a boundary.

The work is not glamorous.

It is mostly noticing.

Noticing when a solution is bigger than the problem. Noticing when a generated test checks the happy path and nothing else. Noticing when the code is technically clean but emotionally wrong for the user flow.

The same thing happens in creative work
This pattern is not unique to software.

Imagine making a short song. AI tools can help you generate lyrics, test a tempo, or explore a mood quickly. But a quick draft does not tell you whether the song feels honest, whether the rhythm supports the words, or whether the idea has a center.

If I am trying to understand the movement of an idea, even something as simple as a bpm song check can turn a vague feeling into a concrete reference. The number is not the song. It is a way to ask better questions about pace and energy.

The same is true with words. A tool described as the best ai lyrics generator free may help someone reach a first draft faster, but the creator still has to decide which line sounds personal and which line sounds generic.

The useful part is not that the tool replaces taste.

The useful part is that the tool gives taste something to inspect.

That is exactly how I think about AI coding.

The generated code is not the final answer. It is a draft that reveals what still needs human attention.

What I do while AI codes
When the agent is working, I try to spend that time on things that will make the review sharper.

I reread the issue.

I check the surrounding code.

I look for the naming pattern the agent might miss.

I think about the rollback path.

I ask whether this change should be invisible to users or whether it should change how the product feels.

Sometimes I write a short review checklist before the code exists:

Does this match the existing architecture?
Does it preserve the current user flow?
Are the tests checking the risky behavior?
Did the agent add unnecessary abstraction?
Can I explain this change to another developer in two minutes?
This makes the final review less passive.

Instead of asking, "Did the agent do what I asked?" I can ask, "Did my original request describe the right thing?"

That second question is more uncomfortable. It is also more useful.

AI makes weak ownership easier to hide
One risk of AI coding is that it can make weak ownership look productive.

You can generate a lot of code without fully understanding the problem. You can ship a feature whose implementation you cannot explain. You can accept a clean-looking diff because it feels rude to argue with something that works.

But code ownership is not about who typed the characters.

It is about who understands the decision.

If I merge an AI-generated change, I own it. I own the assumptions, the edge cases, the maintenance cost, and the user impact.

That does not mean I must manually write every line. It means I must be able to defend the shape of the solution.

The agent can help produce the draft. It cannot take responsibility for the merge.

The best use of waiting time
AI coding tools change the rhythm of development.

There are more short waiting periods now. More moments where the system is doing something and the developer is not typing.

Those pauses can become distraction.

Or they can become thinking time.

The difference is whether we treat the agent as a replacement for attention or as a reason to aim attention somewhere better.

While AI codes, I work on the part it cannot see:

the user's real problem
the team's hidden constraints
the emotional shape of the workflow
the reason one solution is easier to maintain than another
the difference between a passing implementation and a good one
That work does not always look busy.

But it changes the result.

AI can make the first draft arrive faster. It can move repetitive implementation work out of the way. It can give developers more room to think.

The question is whether we actually use that room.

Because while the agent is writing code, the developer is still responsible for the thing that matters most:

knowing what the code is supposed to mean.