Now, before jumping into this essay I can say, from experience, that Pair Programming is in fact very efficient. Ever since I started studying CS, in 1st and 2nd semester, I did my fair share of Pair Programming. It mostly consisted of programming exercises in the "Fundamentals of Programming" classes and then afterwards in "Object-Oriented Programming" class. We usually worked in pairs or in groups of three, and one teammate was in both classes. We liked finishing everything in class, so naturally we would start as soon as we were tasked with an assignment.
In the reading, it is mentioned that certain keys aspects of Pair Programming are the constant code reviews, the shared responsibility, the active participation of the person who isn't typing, etc. Certainly these are all points which I agree with because I experienced it first-hand. However, the authors mention that, thanks to programming in pairs, the natural response to distractions is to ignore them, and I found that quite interesting. It's almost as if you're committed not only to the code itself, but to your programming partner. You both encourage one another to keep it up and not slack off. I guess that, in that regard, I kind of miss a programming partner. When programming alone, I can get all caught up in my line of thought and miss the bigger picture (Like programming something the problem didn't ask for).
Another thing that I found of high importance is this notion that, while one programmer is laying down the lines of code, the other is testing possible outcomes in their mind. Surely one can do that by themselves, but not in this strangely paralleled way of working.
What is most remarkable, in my opinion, is the social aspect. When a programmer engages in Pair Programming, they are confronted with many social requirements that they must fulfill in order to have a successful programming session. I believe that, by getting rid of your ego, being nice, listening to your partner, and engaging in healthy human interaction, Pair Programming can lead to a better social life.
In the reading, it is mentioned that certain keys aspects of Pair Programming are the constant code reviews, the shared responsibility, the active participation of the person who isn't typing, etc. Certainly these are all points which I agree with because I experienced it first-hand. However, the authors mention that, thanks to programming in pairs, the natural response to distractions is to ignore them, and I found that quite interesting. It's almost as if you're committed not only to the code itself, but to your programming partner. You both encourage one another to keep it up and not slack off. I guess that, in that regard, I kind of miss a programming partner. When programming alone, I can get all caught up in my line of thought and miss the bigger picture (Like programming something the problem didn't ask for).
Another thing that I found of high importance is this notion that, while one programmer is laying down the lines of code, the other is testing possible outcomes in their mind. Surely one can do that by themselves, but not in this strangely paralleled way of working.
What is most remarkable, in my opinion, is the social aspect. When a programmer engages in Pair Programming, they are confronted with many social requirements that they must fulfill in order to have a successful programming session. I believe that, by getting rid of your ego, being nice, listening to your partner, and engaging in healthy human interaction, Pair Programming can lead to a better social life.
Comments
Post a Comment