top of page

AI Pair Programming — AI-Assisted Coding, Part 3

Shift Quality Editorial
Jul 8
3 min read

Updated: Oct 4

AI-Assisted Coding · Part 3

Pairing with an AI isn't one activity — it's two, and the people who get the most out of it know which one they're in. Sometimes you drive and the AI navigates (you write, it suggests); sometimes the AI drives and you navigate (it writes, you steer and review). Blur the two and you either fight the tool or rubber-stamp its mistakes. This walks through both modes, when to switch between them, and how to stay sharp instead of letting your own skills quietly atrophy.


Two modes: you drive, AI navigates. Or AI drives, you navigate. Both work. Different strengths.


Step 1: You Drive (10 min)


You write code; AI suggests.


  • Tab-complete (Copilot-style)

  • Side-panel chat for "how do I X?"

  • Quick refactors


You stay in control. AI accelerates.


Best for:


  • Implementing what you already know

  • Working in your strong language

  • Sensitive / security-critical code


Step 2: AI Drives (10 min)


You describe; AI implements.


  • "Add a /api/users endpoint with these fields"

  • "Refactor this to use Promise.all"

  • "Convert this Python to TypeScript"


You review. Approve or push back.


Best for:


  • Boilerplate

  • Unfamiliar libraries

  • Cross-language port

  • Repetitive changes


Step 3: Knowing Which Mode (10 min)


Drive yourself when:


  • You have strong opinions

  • Code is sensitive

  • You're learning

  • Small surgical change


Let AI drive when:


  • Boilerplate-heavy

  • Unfamiliar territory

  • Time pressure on routine work

  • You want to evaluate options fast


Switch within a single session. Both modes coexist.


Step 4: Pair Convo Patterns (10 min)


You: "I need to add caching here."
AI: "Suggested: use Redis with 5-min TTL. Here's the code."
You: "Use in-memory for now."
AI: "Updated. Note: won't survive restarts."
You: "OK. Apply."

Back-and-forth. Iteration. Like real pairing.


Don't accept the first suggestion blindly. Negotiate.


Step 5: Use the AI's Strengths (10 min)


AI is good at:


  • Boilerplate generation

  • Syntax recall (across many languages)

  • Translation between formats

  • Pattern matching on examples

  • Generating tests

  • Refactoring routine code


AI is weak at:


  • Novel architecture

  • Business logic with unwritten constraints

  • Security-critical decisions

  • Anything not represented in training data


Lean into strengths; verify the weaknesses.


Step 6: Talk Through Design (10 min)


"I'm designing a payment retry system. Walk me through the
trade-offs of A vs. B."

Use AI as a sounding board. Often you find the answer by articulating the question.


Don't commit to AI's recommendation without independent thought.


Step 7: Watch for Hallucinations (10 min)


AI confidently invents:


  • Library functions that don't exist

  • Wrong API signatures

  • Outdated patterns


Test what AI claims:


# Did this function actually get added in v2.5? Check docs.

Trust but verify. Especially for newer libraries.


Step 8: Don't Lose Skills (10 min)


Risk: rely on AI; forget the basics.


Counter:


  • Occasionally write from scratch without AI

  • Read code AI generates carefully

  • Understand patterns; don't copy-paste

  • Practice without AI for the fundamentals


You're not pairing with a human. AI doesn't get tired but also doesn't teach you (consistently). You teach you.


Step 9: Time Your AI Use (5 min)


Sometimes:


  • Spend 5 minutes thinking before asking

  • Try one approach before iterating with AI


Otherwise: AI thinks for you. Atrophies.


For deep design: think first; consult AI second.


Step 10: Stay Engaged (10 min)


AI driving + you zoning out = bad output.


Stay in the loop:


  • Read the code as it generates

  • Pause to challenge

  • Ask "why" of suggestions

  • Push back when wrong


Engaged pairing > passive acceptance.


What You Just Did


AI pair programming: drive modes, switching, conversation patterns, strengths/weaknesses, design discussion, hallucinations, skill maintenance, time, engagement. Real pairing.


Common Failure Modes


Always let AI drive. Skills atrophy.


Never let AI drive. Slow on routine work.


Accept hallucinations. Bugs ship.


Zone out during AI generation. Output unreviewed.


No iteration. First suggestion ≠ best.


When you review what your AI pair wrote, the AI Failure Mode Register lists the sixteen ways AI-generated code tends to fail and the check that catches each one.


Continue the AI-Assisted Coding path



Part of the AI-Assisted Coding learning path.

bottom of page