And really, 90 percent of programming is more "typing" than programming because the work is straightforward.
90 percent of programming is more "typing" than programming because the work is straightforward.
This may be exaggerated, but it has more than a grain of truth. If you take it to mean 90% of programming as actually practiced, as opposed to 90% intrinsically, it's not even that much of an exaggeration.
Working on harder problems in higher-level languages than I used to, I felt less productive for a very long time. In some ways I still do. I eventually figured out that this was because I was spending much more time thinking and much less time typing. Typing feels like good-old-fashioned-work in a way that thinking doesn't. That's why people feel satisfied after cranking out thousands of lines of code, when in reality they may well have made an unmaintainable mess (and thus destroyed value rather than created it).
In this environment, pair programmed got us both past the logjam we were both experiencing on this codebase and we were able to get things into the sort of shape that working alone became not only palatable but enjoyable again.
We also did some API work together, and I think if you're writing interfaces and the like, working on that with someone who will be using it can be helpful in getting a good initial API out there.
There are also other sorts of programming tasks where I don't feel pair programming was very productive (for me/us anyway).