+1 - A fact-based discussion of the reasons I am of one those programmers that love pair programming.
Regarding the Expert Programmer Theory: I find it rare that my pair and I get 'stuck'. Rather, discussion at the early stages of implementing a plan head off any decisions that will end up with us being stuck.
That said, the times I usually find my pair and I getting stuck is in the naming of concepts within the domain. At this time, polling those developers around us helps out enormously.
Regarding 'change blindness': This is where I find some of the most value from pairing. I find that I get (and give) a lot of value in the catching of minor logic errors, changed method or variable names, and simple typos.
Regarding the Expert Programmer Theory: I find it rare that my pair and I get 'stuck'. Rather, discussion at the early stages of implementing a plan head off any decisions that will end up with us being stuck.
That said, the times I usually find my pair and I getting stuck is in the naming of concepts within the domain. At this time, polling those developers around us helps out enormously.
Regarding 'change blindness': This is where I find some of the most value from pairing. I find that I get (and give) a lot of value in the catching of minor logic errors, changed method or variable names, and simple typos.