Will You be my Plus One? A Quick Explanation of Pair Programming

Kubik-150115-Galvanize_0113

What is Pair Programming?

If you’re just starting to learn to code, you’ve likely heard of “pair programming.” Why is this such an important concept for beginner programmers to understand? At its core, pair programming is a collaborative effort between two programmers that share a single workstation with one screen, keyboard, mouse and project.

Developers have vastly different talents, perspectives, and backgrounds, and this is the perfect way highlight them but also improve everyone’s technical skills in an open and accepting environment.

Pair programming has two well defined roles: the driver and the navigator.

How it Comes Together

Think of this dynamic duo in a simple analogy – there’s person who drives the car and another who navigates the route. Driving is obvious – steer, break, change the speed, and control the automobile. The navigator reads the map and follows clues or instructions of the road to the destination. The navigator also observes what the driver is doing and watches road signs. Through it all, the driver and navigator actively talk to one another and help each other reach their destination successfully.

The programmer acts as the driver and takes the keyboard, while the navigator focusses on the overall direction of the task.

The driver works the computer, entering instructions, data, and focusing on the code at hand: the syntax, semantics, and algorithm. The navigator observes the driver, makes suggestions or points out potential problems. The navigator points out typos, questions the sequence of instructions or actions, and acts as a “sounding board” for the driver, consulting with them about what to do next. Teams swap roles on a regular basis give each developer chance to contribute equally to the project and sharpen their skills.

The Struggle

With talent comes power. When a developer knows exactly what they’re doing and how they want to do it, they sometimes take full control of the project and charge ahead. So it’s common for there to be a power struggle between the driver and the navigator to create what they want and resist input.

If both individuals are not engaged in the project equally, issues can spring up, and one partner might feel less obligated to participate. To be successful, each developer needs to play to their strengths but also give their partner a chance to build on theirs.

In the workforce, programmers have to work with teams – both large and small, technical and non-technical – to build products and tackle tough challenges. Pair programming is an amazing way for developers to hone their communication skills and prepare for a career at a startup or large company.

Benefits Galore

Code is written more efficiently and elegantly when two people work on it simultaneously. Both developers are fully aware of the code, how it works, and the process in which it was created. Pairing results in better designs, fewer bugs, and much better spread of knowledge across a development team, not to mention an increase in productivity and time management.

Pair programming also teaches each partner to be patient, have a voice, and listen actively – all while reinforcing how important teamwork is. It also makes developers more open to new ideas and constructive criticism, which allows them to produce better work.

Pair programming is one of the best ways to level up your technical skills and prepare yourself for full-time work. Have any tips how to to be a good plus one? Let us know below.