The Pros of Pair Programming

Jordan Schreuder and Tam Blood

Pair programming is when two developers tackle a challenge together. This can be either done on site or remotely using video chat technologies. The benefits of pair programming are numerous. Primarily, it can be beneficial to have more than one mind working on the same problem. Different people bring different backgrounds and experiences to a challenge, and may offer a different or cleaner solution. Obviously, this can also be challenging since it requires two people to work together under sometimes stressful circumstances. In order to maintain order during a pair, its important to identify a drive and a navigator. These terms are compared below.

Driver

The driver is the one typing the code and following the direction of the navigator. The driver does not need to be totally silent, but can ask questions and offer input and ideas as well.

Navigator

The navigator is responsible for double checking syntax and keeping an eye on the overall goal. The navigator guides the drivers typing.

Not only is pair programming useful for tackling technical challenges, but it can also be a great way to connect and communicate with other devs. Learning to code can be very stressful and often leads to fears of inadequacy and a sense of being lost. Pairing allows devs to check in with one another and connect in powerful ways to reduce those fears.

Beyond DBC, pair programming can teach devs the soft skills necessary to become a vital part of any dev team. In the web development world, designers need to be able to work as a team with other designers who come from a wide variety of backgrounds and skillsets while maintaining professionalism. In short, Pair programming at DBC prepares devs for a career as a web developer.

Reflection

We really enjoyed pair programming, working together seemed easier than we thought and much more enjoyable than imagined. This was Tam's first pairing and went much better than imagined. It was the first time collaboratively writing anything for both of us. What worked was using screen sharing and communicating well. Collabedit was difficult to use for the switching back and forth.

We tried to use dev tools but that didn't seem to work well. We went back to the old school way. It was easier to copy and paste back to sublime the old way.