What is Pair Programming?

Our Lead Product Manager, Aimy Ko speaks about the power of Pair Programming, how it works and what benefits it could bring to your team.

If you’ve ever visited the Product Development area in Unruly’s London HQ you might have noticed that there are always two people sitting at a computer. This is Pair Programming in action.

There are many different ways to pair, but in essence, you take it in turns to “drive” and “navigate”. The two of you sit in front of the same computer with a single keyboard and mouse, and switch driving every 20 minutes or so.

Why do we do it?

It helps us to find better solutions since, generally, there is no “correct” way of solving a problem. With Pair Programming, each person brings their own unique perspective, so they end up building a solution based on a combination of their ideas.

Also, having two brains lookout for errors means that less time is spent fixing code and fewer breakages happen in the long term. This is the reason that we require Pair Programming on all production code at Unruly (i.e. code that is deployed to our live environment for end-users to see).

It’s also a great way to spread knowledge (pairing on a piece of code means two people understand it, helping to avoid the bus factor) as well as increase productivity (pairing doesn’t allow any time to check slack/emails/your phone).

Of course, the idea of pairing isn’t limited to programming; pilots, rally drivers and surgeons also pair.

What’s it actually like working in a pair?

Quite exhilarating but also tiring. In order to effectively communicate your ideas, you need to continuously verbalise your stream of consciousness, while also listening to your partner’s ideas. Of course, everyone has a different way of working, so what works well in one pair, might not work in another.

People who are new to pairing always comment on how exhausting it is because you have to be on the ball all the time. Pairing doesn’t offer many opportunities for downtime, which is why some developers prefer to spend lunchtimes on their own recharging their energies.

So do developers everywhere work like this?

No. Although Pair Programming is a well-known XP (eXtreme Programming) practice, Unruly is one of the very few companies that use it 100% of the time. Some companies might pair on specific stories (small pieces of work), while others never do any Pair Programming.

What other activities at Unruly reflect the Pair Programming idea?

We practice mob programming, which is three or more developers sharing the same computer! This is really useful when we have to refactor (tidy up) a complicated piece of code, or when we have a really meaty problem that we need to solve. We also pair on other activities such as writing release emails and research. In fact, we try to collaborate on everything, which gives our team a very egalitarian feel.

Like what you’ve heard? Unruly’s a place where great people can do great things – every day. Our superpower is to take passionate, collaborative and empowered people on a mission to #DeliverWow. Find out what roles we’re hiring for.