In my mid-years as a programmer I started to become aware of change matters between people as I experimented with pair programming and TDD from eXtreme Programming fame. Many programmers are self taught, as was I, and we tended to enjoy thinking, developing and solving alone; interaction would be on a need to ask basis.

Therefore to pair program with another can actually be an incredibly painful experience for many programmers learning this practice. For me the pairing experience was challenging my built up assumption that people got in the way of coding and all I wanted to do was shout out aloud:

“Let me solve this problem, myself! The computer and I get along fine, you on the other hand, are simply in my way.”

I never actually said this but I am sure I was projecting my frustrations and I am sorry about that.

I would often go home and think on this. Before I was a programmer, I had experienced a career change and it was a difficult time. This event caused a theory to stick in my head; if something is uncomfortable it might be worth understanding it better, a learning anxiety perhaps.

I soon discovered, in the pair programming situation, that if I resisted the temptation to solve the problem and instead shifted my perspective and questioning to understand how the other person is observing the problem, I could actually participate in their learning process. I didn’t have a name for it at the time, but now I think of it as helping (Schein E.)