90

Developer Workflow / AI-Assisted Engineering

You Are The Bottleneck

A pragmatic, battle-tested playbook for building software with AI coding agents — where 10% of the work is generating code, and 90% is making sure it doesn't betray you.

By Rashik HasnatMarch 202612 min read

Scroll ↓

AI can write your code in seconds. But shipping code that actually works, reads well, and survives production? That's still entirely on you. Here's the workflow that makes the partnership worth it.

The promise of AI-assisted coding is seductive: describe what you want, get working code, ship it. The reality is messier. AI-generated code drifts from intent. It re-renders when it shouldn't. It calls APIs no one asked it to call. It works — until it doesn't.

What follows is a repeatable, phased workflow forged from real-world experience. It won't make you faster at typing code. It will make you dramatically better at thinking about code — and that's where the real leverage lives.

Phase 01

Before You Write a Single Line

The biggest mistake developers make with AI agents is jumping straight to code generation. Resist. The quality of your output is bounded by the quality of your input — and that starts with understanding the problem deeply before you involve any model.

  1. 01 Think first, alone. Do your own research. Google around. Have some casual back-and-forth with ChatGPT to stress-test your initial thinking. The goal isn't answers — it's sharpening the question.

  2. 02 Document your existing system. Write a generic, clear definition of what you currently have. If the system is complex, use AI coding agents to generate a README. You need this artifact for every prompt that follows.

  3. 03 Query for architecture. Feed your system documentation to a conversational AI and ask for an architectural solution. Be explicit about requirements, constraints, and future extensibility. Vague inputs produce vague architectures.

  4. 04 Get the overview artifacts. Extract a high-level picture of what needs to happen: system diagrams, database schemas, service boundaries. These become the scaffolding for everything else.

  5. 05 Craft a detailed prompt. Now write a thorough prompt for your coding agent. Include the high-level plan, link to any existing documentation, and specify the scope precisely.

  6. 06 Decompose ruthlessly. Can the work be broken into isolated sub-tasks? Do it. Smaller, independent units produce better AI output and are easier to review.

Research→Document→Architect→Decompose→Plan

Phase 02

The Planning Protocol

This is where most developers under-invest — and where the highest ROI lives. Planning with AI agents isn't a single prompt-and-go. It's a comparative, iterative process.

  1. 01 Use plan mode. Prompt your AI agent to generate a plan — not code. Explicitly ask for a step-by-step execution strategy before any implementation begins.

  2. 02 Run the same prompt through at least two different agents. Different models have different strengths and blind spots. Claude might catch architectural concerns that Codex glosses over. Gemini might surface implementation details others miss.

  3. 03 Compare and synthesize. Lay the plans side by side. Take the best of each. Iterate until you have a final plan you'd stake your name on. Only then do you proceed.

  4. 04 Execute. With a validated, multi-perspective plan in hand, let the agent generate code.

“

Different AI models have different personalities and different strong points. They'll focus on different things. Use that tension to your advantage — two perspectives are almost always better than one.

On using multiple agents

Phase 03

After the Code Lands

The code is generated. It probably compiles. It might even look right at first glance. Now the real work begins.

  1. 01 Check functionality first. Does it actually do the job? For large changes, there's a high probability of drift — the AI solved a slightly different problem than the one you posed. Look for re-rendering issues, redundant API calls, and subtle deviations from intent. Fix them by prompt or by hand.

  2. 02 Review from the inside out. Start with the most critical path, then go file by file. You're checking three things: Is the code clean? Is it performant? Is it human-readable?

  3. 03 Identify improvement scope. You will find things to fix. Break down a service. Apply a design pattern. Extract constants. Simplify complex logic without sacrificing too much performance or quality. Catalog these findings.

  4. 04 Prompt the agent to fix. Feed your improvement list back to the coding agent. Let it handle the mechanical refactoring while you focus on the decisions.

Phase 04

The Critical Path Deep-Dive

For your most important business logic, go one level deeper. Use this specific technique to generate a living document that serves as both documentation and a review artifact:

EXAMPLE PROMPT Check out files A, B, and C. I'm using these files for the X functionality.



Create a user document on it. Add step-by-step implementation details,


related code file/block, and improvement scope.

The "improvement scope" portion of this prompt is critical. It forces the AI to surface not just what the code does, but what it should do differently. Then treat that document like a senior engineer's code review:

  1. 01 Go through it carefully. Do you disagree with any execution step? Are the suggested improvements genuinely needed now, or are they future considerations you can safely defer?

  2. 01 Iterate. Fix what needs fixing, re-generate the document, review again. Repeat this cycle until you're satisfied with both the code and the documentation.

Phase 05

AI-Powered Code Review

Before you create the pull request — ideally before each commit — run your changes through an AI review pass. But do it with guardrails. Without explicit criteria, AI reviews tend to be either too noisy or too shallow.

Set your review criteria explicitly when prompting:

♻️
Code ReuseNo duplicated logic across files
🧹
No Code SmellClean patterns, no dead code
⚡
No Re-renderingEfficient state management
🧱
Common ComponentsShared UI wherever possible
🔭
Improvement ScopeWhat's the next iteration?
📖
ReadabilityA human should understand this

Then — and this is important — don't blindly accept every comment. In practice, you'll want to skip 20–30% of the suggestions. Some are pedantic. Some are wrong. Some are technically correct but not worth the churn. Use your judgment.

For the issues you do want to fix: ask the agent to make a plan first, then execute. Repeat the cycle.

10%

Time generating code

90%

Time reviewing & improving

Principles

Things to Internalize

01

Use two agents, always. For planning, reviewing, and finding improvement scope — never rely on a single model. They have different personalities and different blind spots. The disagreements between them are where insights live.

02

Master parallelization. If a task can be split into two non-dependent areas, prompt agents simultaneously. Generate plans and code in parallel. The wall-clock time savings compound fast.

03

You are the bottleneck. Accept it. When you review changes carefully and fix them in iterations, you slow things down. That's not a bug — it's the whole point. You should always look for common patterns in each iteration to improve future prompts, but you will always be the rate-limiting step. And that's exactly where a human should be.

04

Improve your prompts over time. Every review cycle teaches you something about what your agents get wrong. Encode those lessons into better prompts, better guardrails, and better decomposition strategies. The workflow gets better every time you use it.

“

The developers who thrive with AI won't be the ones who generate the most code. They'll be the ones who review it the most ruthlessly — and iterate until the output is something they'd be proud to put their name on.

The real competitive advantage

This workflow isn't about making AI do your job. It's about restructuring your job so that AI handles the parts it's good at — the mechanical generation, the boilerplate, the first draft — while you focus on the parts that actually matter: architecture, quality, and judgment.

The 90/10 split is real. Embrace it.