For some, the COVID-19 pandemic was a mere blip – a pause in the busyness before life returned to normal. For many people engaged in building software, however, the world looks very different in 2024 – especially if you consider the way AI has fundamentally changed how we specify, write, and verify software.
Remote work has changed the role and mechanics of pair programming for hundreds of thousands of software engineers, designers, and product managers. We used to book meeting rooms and draw on wall-sized whiteboards, but after being remote for 4+ years, our essential collaborators are no longer local. Vast swaths of us won’t ‘return to office’ merely to join video calls with globally distributed colleagues, badging in to drink worse coffee alone in an open-plan office where the lights keep turning off.
For those who can carve out a quiet, comfortable workspace at home, the advantages of a private office with no commute and more time flexibility are immense. For all their grousing about employees not wanting to come back, companies have benefited from having global teams that are more integrated than ever.
The pandemic changed economic equations, disrupted continuity, and brought an end to some wonderful things, while in other ways accelerating progress by a decade. My company, Promptworks, is now part of Modus Create, and the publisher of Practical Pair Programming, A Book Apart, has closed and has returned ownership and publishing rights to their authors. I’m proud of what Promptworks achieved in Philadelphia and grateful for what A Book Apart did for the tech community, especially for underrepresented and first-time authors.
Pair programming in a world of AI
Pair programming, as I laid it out in the book, was a radical idea in the late ’90s: two engineers controlling one computer to write code. It empowered fast-moving teams to make discoveries together about how the software should work and to show each other how to craft software rather than telling them in documents. Coding standards propagated organically and architecture choices were made collaboratively, in real time.
AI coding assistants like Cursor, Copilot, and Codeium take the best of pair programming – an independent brain to test ideas, assist with research, and provide additional expertise – without the need for synchronicity, the opportunity cost of a second salary, knowledge loss from turnover, or competing egos.
I’m not saying AI replaces pair programming, but it has certainly upset the balance of pros and cons! In practice, pair programming had to overcome the optics of two people working on one task to realize its difficult-to-quantify benefits in correctness, quality, and developer happiness. It was a constant struggle to justify in meaningful quantities. AI “only” costs substantial amounts of energy and fresh water, usually at great environmental cost – but that’s a whole other topic.
At this stage of AI maturity, working with a coding assistant seems to require even a lone developer to act like a large development team, with current AI best practices speaking as if AI is a junior developer to be closely managed, harnessed with coding guidelines, safety guardrails, and lots of documentation. eXtreme Programming (XP) liberated software development to speed-run delivering products, but now we’re circling back to a more rigid structure until AI matures and is worthy of confidence.
I think the next year or two will focus on how we instruct and constrain AI agents to do work for us, which will produce a lot of process and artifacts. If history is any guide, all that structure will eventually feel burdensome and the pendulum will swing the other way, although AI is better and faster at reading and revising documentation, learning rules, and compressing context than humans are. Quality AI-readable planning, coding, and review documents will have a greater impact on reducing AI slop in the near term than which foundation models one uses.
Pairing to close the AI divide
We’re all gradually learning a dramatically new way to work, with leading developers feeling like AI gives them 10x powers and a long tail of devs just now dabbling with tab completion or prompt engineering. We have a lot to teach each other as we figure out the best ways to leverage AI to get more done. Pair programming is a great way to share those learnings and to shine a light on misapprehensions and workflow bottlenecks.
Helping your coworkers seize this powerful tool is essential for unlocking team-wide efficiency and bringing everyone along. Those who fall behind in AI skills are in danger of being replaced by it. Those who harness it will find new ways to provide value and stay ahead of machine intelligence.
To that end, I’m making Practical Pair Programming available for free! Download the EPUB below and share it with your colleagues. Perhaps use it as an opening to pair with them and learn each other’s agentic AI workflows and best practices.
Download Free eBook (EPUB) Download PDF
Dog Tax
I said free, but at this point you’re obligated to look at my puppy, now nearly five – an adult toy poodle with very definite routines and preferences! 🤭 He resents books and iPads because they interfere with “lap.”