Pair-Programming with Robots
Across the software industry, the business practices and the rituals of Agile have seen much heavier adoption than the technical practices. You've likely experienced first hand the likes of
Standups
Sprints
Story-point estimation
If you're lucky, you've worked in teams that practiced Continuous Integration and Continuous Deployment (CI/CD) and even done some Test-Driven Development (TDD).
Yet, the rarest breed of all the Agile technical practices has to be Pair Programming. Newsletter reader (and excellent newsletter writer over at Engineering Harmony ) Alex Jukes recently wrote a series about the practice, with the first post here.
Quick recap
Pair programming is having two programmers work next to each other (or via screen sharing) on the same task, in the same editor. One person does the typing, one person does higher-level thinking, a bit like in rally car racing with a driver and a navigator.
Wherever I had the chance to practice this, I've found it the fastest way to:
effectively onboard new team members and have them become proficient in an unfamiliar codebase
work through complicated refactorings or other code improvements
coach junior team members on better techniques and principles
Despite heaps of benefits, it never became as widespread as standups, story points, or CI/CD, which is a shame.
The Trojan Robo-Horse
Here's a hope, naive though as it may be: These days, every programmer can have their own little AI buddy as a pair programmer. That gives some of the benefits (having someone think alongside you) of pair programming, but by no means all of them. Yet, as people realize how great it is to have a companion while you code, more might be willing to try pair programming with a real human. After all, much more knowledge transfer and learning is happening in that scenario!
Over to you: Have you tried pair programming, and how did that experience go?