James Thompson
Feb 23, 2017 · 1 min read

As someone who works in a pair programming environment as a senior engineer I think there is a misunderstanding of inherent value and promise at play in your perspective. Before my current position I rarely worked in a pair programming environment, and since working at Mavenlink I’ve realized that certain things I thought about pairing in the past were incorrect. Pair Programming can actually expose weak engineers and is a very good way to level them up because a lot of pair programming ends up being didactic in nature. Pair programming does not guarantee better code in and of itself, that is dependent on the pair involved and the process that exists outside them.

We rotate pairs regularly within teams, and we rotate individuals between teams relatively frequently. That rotation gets more engineers exposed to more areas of our codebase more consistently as a practice. And, with pair programming there is a support structure for engineers when moving into unfamiliar areas.

Certainly, pair programming is not a cultural fit for many individuals or companies. But, it has merits such as promoting communication, disseminating knowledge, softening on-boarding ramp-up, and the like. Those are not key areas of value to some; but even for an engineering shop that is building a product, such as the company I work for is, those areas of value and others are worth the trade-offs.

    James Thompson

    Written by

    Hands-On Software Architect — Conference Speaker