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?

Previous
Previous

Sometimes You Just Have to Risk Looking Silly

Next
Next

Frontend, Backend, and the Reverse Conway Maneuver