I will be honest here. At the beginning I felt resistance to pair programming. I thought there was a lot of overhead to having two people do the same work. Due to the content of the curriculum, this seemed to apply in the first week, but from the second week onwards I saw more and more value in pair programming.
One very practical benefit that comes to mind is in the form of time management. I commit to an agreement with someone else to dedicate at least one hour to work on an assignment. Often it is going well enough that this hour extends in the additional time it takes to get to a solution, simply because of the effective and fun workflow which is created.
Another benefit is the pooling of knowledge and skill. We are all learning in different ways and different paces. When working alone it can take some time to find out more and learn to apply it. When working together the knowledge transfer takes much less time. Both people learn from each other.
Even when the technical knowledge transfer is flowing in one direction there is always a mutual exchange. We all learn from how other people think and work together. By seeing different people respond differently, we as humans have the opportunity to grow and learn.
Besides, it can be really fun to share the sense of accomplishment after solving a problem together.
Guided Pairing Session
I know why we have Guided Pairing Sessions. They are great. The guides have been extremely kind and helpful all along the way. Yet, whenever I join a GPS I feel the pressure to perform, knowing I am being watched and evaluated. Somehow I have negative connotations with that, while the only purpose is to ensure me and my fellow student are on the right track.
What I think I know and what goes on doesn't line up. So at that point I really have only two choices: To get into those thoughts or just relax with it and focus on the task at hand. It is almost impossible to evaluate myself. On one hand we accomplished a lot in an hour in each guided pairing session, yet I always feel those are the worst. My evaluation is always on track or better, so what does this tell me?
It tells me that all these sensations of being nervous, the thoughts that I am underperforming are not really relevant to what is actually happening. These thoughts on their own are not a reliable tool to navigate myself throught these sessions. I see this as an opportunity to grow. I have the opportunity to become familiar with these thoughts and sensations. All these things arising in my experience allow me to become more familiar and comfortable with myself, even in stress. The more I befriend these sensations, the more I can relax when they appear.
Over the course of my live I have learned to dread feedback. It is quite warped. I can have four positive feedbacks, but when two sentences in the fifth describes a point for me to work the focus goes into that, zooming in on that entirely. It comes with the idea that it describes who I am instead of a moment in time. The defensive feelings are not needed. What is there to defend? I know the person providing the feedback only wishes for the best possible outcome and I can simply acknowledge and appreciate that
At first I thought that leaving actionable feedback is the same as criticism. I thought it was expected of me to dig at something for the other person to change, but I see that this is not the intent. This is about encouraging each other to be the best we can be. Everyone has their own unique strengths and talents which make a person excel and I believe in honing that.
We work together, not to imitate or compete, but to compliment each others skillsets. This is how we accomplish more in a group than on our own.