With the dawn of AI development, it’s easy to assume pair programming is becoming less relevant. Why pair with a fallible human when a tireless agent can rapidly generate, validate, and implement ideas?
Interestingly, our appetite for pairing hasn’t gone down, quite the opposite. Also, we’re seeing how the demand for Tuple is steadily increasing, and folks from Tuple see the same.
So, how is pair programming still relevant in the age of AI?
A) More critical decision-making
AI needs very carefully instruction to drive maintainable, humandly understandable codebase. The secret sauce is in the context and prompt engineering, where AI is instructed with architectural, design and software principles. As coding takes less time, the overall pairing conversation is lifted up an abstraction most of the time. Discussions on architecture and design have lasting effects - given the weight of these decisions, two is better than one.
B) Overcome Review Bottleneck
With accelerated code generation, the amount of code that needs reviewing is vast. PRs have always been a notoriously bad way of reviewing code. At the time of the review, decisions have already been made. Only a few people and teams are shrewd enough to reject PRs altogether, and undo big decisions. Pair Programming means constant peer review, which is a remedy for the accelerated rate of code generation.
C) No Silos
We’ll see that people that are able to effectively use AI, will ship vastly more than counterparts. The high-performers will soon run risk of becoming a silo by the sheer context they hold. Organizationally, it makes sense to not depend on single actors. As a team member it makes sense to share ownership.
Pairing builds resilience through shared understanding, creating a more cohesive and robust engineering organisation.
D) Learning and growing juniors
Pair programming is a great way of fostering learning. Especially in the current environment with AI tooling appearing left and right, and the craft changing substantially - it’s worth doubling down in learning. Two people working through a problem tends to achieve better results than a single one.
Furthermore, pair programming remains the best tool we know of to grow junior engineers. AI doens’t change that, it just changes the conversation not the outcome.
This is also the reason why books about system design, architecture, and software principles remain a critical part of the curriculum as a software engineer.
Conclusion
As big fans of eXtreme Programming (XP), we were initially feeling an existential threat to what AI development will do to the practice - the practice which we believe is the most effective way of software development, and we’ve seen work so well in the last decade.
For Pair Programming, we bet that it makes more sense than ever currently to double down on it. Pair Programming was never effective because two people type faster than two (heck, they’re even sharing a keyboard) - it was always effective because it unlocks the right conversations at the right time.