My Thoughts on Pair Programming and Peer Review

Pair Programming

My experiences with pair programming so far have been a bit mixed. All of my sessions have been more difficult and less productive than programming as an individual on a similar task. I have also had difficulty trying to find my role in pairing session due to my higher programming skill level relative to some of my pairs. I have tried to be helpful by letting my pair try to figure problems out while trying to keep tips and suggestions to a minimum, but with mixed results. According to my feedback I come off a little aloof and overbearing, which upsets me since I try very hard to be both respectful and helpful. Cultural and thought differences can sometimes make sessions a bit awkward which does affect the mood of the session as well as coding efficiency. I have also always had difficulty with phone and video conversations. It just isn't the same as being with another person so I am still working on altering my approach to problem solving to accommodate this rather unusual medium of collaboration.

This is not to say that I don't see any benefits to pair programming. I have had a few sessions that were quite fun and one that approached 'flow' and was not only productive, but also a blast. From these experiences it seems that I am most comfortable and benefit the most when both skill and temperament are roughly equal between my partner and I. Finally, I think that as my peers and I get more experience pairing that awkward moments will become less frequent and 'aha' and 'that was fun' moments will become the most prevalent.

So to sum it up I don't really enjoy pair programming now, but I have faith that it will become awesome in the future!

Peer Review

Overall, I find peer review to be a very beneficial process. While it is often difficult for me to identify a specific area for my pair to improve upon I can almost always express how the session made me feel. Was it organic, fun, productive, positive, energized? These adjectives express how a session is interpreted by another person and therefore represents how I am viewed or experienced by others, or how I view them, which is very helpful. The feedback I have read so far both angers and inspires me. It angers me because I try so hard to be a good citizen, neighbor, and peer, but I do not always come off that way, which is frustrating. It inspires me because I know that I can improve! I take this feedback with it's insights and the anger it generates and use it to further motivate me to communicate better and be a more helpful pair.

So, peer reviews frustrates me, but I recognize how vital they are in helping me to understand and empathize with my peers and to become a better person and programmer. So thank you to all of you who have given me actionable, specific, and kind feedback even if you called me 'stuffy' :)