Pair programming is teaming up with a peer to work cooperatively on a programming challenge.
One of the main reasons pair programming is important to DBC is to help one stay motivated and to provide an opportunity for one to check-in on their learning progress. Another reason is to help one learn and cement new ideas and concepts by helping and teaching their pair.
There are two roles in Pair Programming: Driver and Navigator. The Driver is at the keyboard position. They type and follow the Navigator's instructions. The Navigator guides the Driver through the process of solving the challenge.
Brandon's Reflection
This was my fifth time pair programming and I have to say one of the more enjoyable experiences. I think it really helps to check in at the beginning and see how each other are doing. It helps get the awkwardness out of the way. Moving on to discussing roles helps progress into the challenge and set certain boundaries. Despite having set roles, we were still able to discuss alternative paths of moving forward together and agree on an ultimate solution, which I think helps cement the collaborative nature of the project, as well as give ownership to both parties. We were also able to strategize together before pushing forward with any coding. I think this works nicely, even with a designated Navigator. It is important for both the Navigator and Driver to agree and know the direction they're heading in, as this makes it easier for both parties to perform their role and ultimately leads to a better experience and solution to the challenge.