This article in the New York Times talks about programming in pairs
One person does the actual writing, or coding, and the other person checks it, corrects it and offers suggestions as it’s being written. Programmers, or software developers, refer to these roles as driver and navigator.
It’s a "new thing", called pair programming. The article goes on about the benefits to the code and project, but leaves out the most important part. Pair programming is more fun. This was the programming model a lot of the time at JMB. We called it "cheek by jowl". The fun came in the shared AHA! experience as one or both people figured out a difficult puzzle. The fun also came in having someone to talk to, to explain things as you went along, so you wouldn’t go so far down a road that you had no choice but to keep going, to get some reinforcement, or to appreciate how you could embed a pun in code.
Programmers have a reputation of working alone, with only hot coffee and cold pizza to comfort them as the sun rises. That’s a model that can work, too. However, having worked both ways, I prefer to program as part of a pair.