Pair Programming Check Your Attitude

Posted on Monday, January 19, 2015




A podcast, I was recently listening to, inspired me to think more about pair programming.  Particularly the attitudes we bring to the table when we pair.

The Podcast was the Entreleadership Podcast (http://www.daveramsey.com/entreleadership/podcast) .  The episode that inspired me is titled "Building a Workplace People Love With Richard Sheridan". 

At about 16 minutes into the podcast Richard Sheridan, author of Joy Inc.  Talks about how they conduct their interview process.  His company does pair programming and since they do pair they made pairing a part of the interview process.  They bring in several candidates and have them pair off with a task.   They switch pair partners and repeat a few times.  Before they send them off to work on their task as a pair they give them this one additional instruction  "Your job is to get the person sitting next to you a second interview". 




Attitude


This made me think about the attitude I bring to the table when I pair.  It turns out my attitude is not good.   Here is a list of my attitudes.


When I pair with someone with less knowledge


I play the part of the arrogant benevolent dictator.  I take over.  I want to impart my vast superior knowledge to those less fortunate.  I typically run the keyboard and mouse while they watch.  Although I honestly want to impart knowledge I am more concerned that my pair partner walks away thinking that I am a rather smart fellow.

My goal is to impress and my attitude reflects that.  I waste a lot of time trying to impress rather than on the matter at hand.





When I pair with someone with more knowledge


Just about any programmer on any given day can mock and belittle another programmer on a niche bit of knowledge.  This thought burns in the back of my mind whenever I pair with someone.  I fear being belittled for lack of knowledge.  This is a legit fear.  I have been belittled by fellow programmers throughout my career for a lacking knowledge on X, Y, or Z.  I take it in stride and try to learn X, Y, or Z after a confrontation.

With this in mind I come into this pairing trying to prove myself.  I want to prove that I am not stupid.  I am silent when I am unsure. and at times, say or show something that is not directly relevant to the work just to show that I am knowledgeable, even if it's in another area.     This is especially true if they belittle me.  When someone belittles me my first reaction is to try to find a way to belittle them, to find an area where they lack knowledge.  This whole process of defense and attack wastes a lot of time. 



When I am pairing with someone with ~ equivalent knowledge



If I pair with a good friend this tends to go well.  If it’s just a colleague it turns into a small trophy showing match.  There is still is a little bit of "look what I know or can do" going on.  Which again wastes time.





The attitude I need


I need to come in with this attitude…


I am here to get the job done with my pair partner.  While pairing there is no room for posturing, or belittling, there is only room for bettering your pair partner.


I sat down with two of my co-workers, recently, and went over this idea.  We have decided to try and implement this with each other and see how well it goes.   We are just a few days into this, but I see a few changes in myself.  I no longer have this monkey on my back of fear and pride going into pair.  I have also noticed more knowledge transfer coming my way as we work better together as a pair on a problem.

I have a lot to learn on the technical aspects of pair programming as well as the attitudes needed to make pair programming a success.  Over the next year or so I am going to start educating myself more on the subject, which will hopefully turn into more blog posts.




References
[1]        Entreleadership Podcast
                        https://itunes.apple.com/us/podcast/building-workplace-people/id435836905?i=326440825&mt=2                                           
Accessed 1/2015




This post is a part of and epic, the Pair Programming Epic.


Epic Goal:   Learn the art of pair programming.


1 comment:

  1. One of the most fruitful collaborative experiences I have had is when I "paired up" with another guy in our astronomy club (years ago) to build a large telescope (24", clock driven, mounted on wheels). I was a physics teacher. He was a diesel truck mechanic. Neither of us could have done it alone. We collaboratively designed innovative features, often over the phone. He might suggest something. I sometimes misunderstood it, but fed back an improvement that made the design better. He might then bring another improvement into the process. I would describe his talent as being able to walk through a junk yard and see telescope parts! Some elements of the design were completely mine (such as an optimized 18 point flotation cell for the main mirror), but he would figure out how to implement it in steel. We both had tremendous respect for the other and recognized the complementarity of our contributions. We built a marvelous instrument and both felt tremendous pride in our joint accomplishment, completely free of posturing on either side.

    ReplyDelete