I think pair programming can be incredibly effective, and I don’t mind doing it every now and then, but a company I’ve interviewed with states they pair program “95% of the time” (they’re a consulting shop, so they do this on client sites).
This worries me because it sounds very demanding/exhausting. I realize it increases productivity, but to do it all day, every day, may actually decrease my morale and ability to think. I wonder if they sell this idea to clients to assure them of greater productivity…
10
The idea behind pair programming is that you back each other up and bounce ideas off each other in real time. If one of the two of you gets hits by a bus, the project still goes on with little to no interruption. If both of you got hit by the same bus, well … 🙂
The idea behind pair programming is not that you are going faster, but that you and your partner in crime, working as a team, go faster as a team as a result of your effectiveness in thinking out how to resolve issues and your efficiency in implementing your thoughts without making major mistakes. In other words, speed is a by-product and consequence of the process of pair programming not its primary or secondary goal. The primary goal of pair programming is clean, reliable, maintainable code not a faster way to write crappy code.
4