I hate pair programming

Hand in Hand 

First, to clarify, I don’t hate the two lovely girls in this picture, but they can be quite the pair. Second, my mother told me never to say hate, so maybe that was not a good title. How about “I detest pair programming.”

Don’t get me wrong, I don’t want to be stuck in a cave for a couple of months and then crawl out bleary eyed and pronounce that I have created the perfect piece of code. I love collaboration. I go to others for help, input, guidance,¬†or to reciprocate for someone else.

What I¬†don’t like, is sitting¬†in a cube with two people where one person types and the¬†other looks over their shoulder all day.¬†Maybe I haven’t had the right person to do this with. Maybe¬†that is why the pair of kids in the picture works. They have their issues, but they get along well, and have similar goals most of the time.

When I am paired with someone, and they have the keyboard, I just feel like one of two things occurs. I am sitting there bored wondering why they just don’t let me type, or they are whipping through some material I have never worked with, and I am lost when I don’t get to “drive”. When I have the keyboard, I just find it annoying to have someone asking if the code could be done differently every 5 minutes. I don’t mind getting feedback, and code reviews are great. I have no problem working on a task, checking for ideas, implementing my approach, then getting feedback, and maybe refactoring. I just don’t like it in real time.

I don’t see the benefit. Luckily it only looks like we are doing this while several of us are new. It won’t last forever. Have you ever had to work for an extended time period in a pair? Did it work?