Pair programming may work well for some people and some employers, but it’s pretty obvious that it doesn’t work well for the vast majority of programmers around the world. Pair programming ignores the psychological truth about programming: it is fundamentally an egoistic activity.
Most programmers like to play and explore in their software sandbox. They like to express their creativity; they like to create software monuments for which they can feel enormous pride. They don’t want to share the glory with anyone…ever. They prefer working in privacy and quiet, absent any distractions and interruptions. They may feel insecurity and anxiety about their work, no matter how brilliant it may be. They want to experience the joy and pleasure of programming.
How can any of this work in pair programming?
As the article alluded to, pair programming can be stressful. In fact, I think it would be stressful for the vast majority of programmers. This is not a trivial matter. Stress makes programmers unhappy.
Happy programmers write the best software.
Programmers are not engineers; they’re artists and artisans. They revel in their privacy. They will balk at being second-guessed. They can feel a bit neurotic. They can get pretty moody. This is all par for the course.
If you rob programmers of their creativity and playfulness, of their inner security and comfort, you will cause stress. If you ignore egoism in programming, then you are a technological fool.
This is where employers go wrong. Pair programming is costly in ways they cannot imagine; it will bite them in the ass down the road.
“This boy is Ignorance. This girl is Want. Beware them both,
and all of their degree, but most of all beware this boy,
for on his brow I see that written which is Doom, unless the
writing be erased. Deny it.”
~ Charles Dickens’ A Christmas Carol