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?