Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

The future of AI-assisted software engineering is not writing code; it's pair programming. Pair programming with a colleague is where you take turns to be the driver and navigator.

  • Driver:
    • Controls the keyboard and mouse
    • Writes the actual code
    • Focuses on the immediate task of implementing the current line or function
    • Handles the tactical, detailed work of coding syntax and mechanics
  • Navigator:
    • Reviews the code as it's being written
    • Thinks about the bigger picture and overall direction
    • Spot potential issues, bugs, or improvements
    • Considers the broader architecture and design decisions
    • Asks questions and suggests alternatives

The reason to pair program is to get extra eyes on the code, spread understanding, reduce technical debt, and share learning.

Right now, the way we are using AI can be considered pair programming where the human is the navigator, prompting AI to drive the code generation. But what if the software engineer is the driver and AI the navigator?