Headphones in a pair programming environment

We strive to always pair program here at Pivotal, but occasionally there will be an odd number of people on a team and one person will not be pairing. Sometimes, the solo developer will put on some headphones and listen to music while they code. I posed a question to my peers recently:

Is there any harm in letting the soloing team member wear headphones and listen to music?

It seems that the main argument in favor of listening to music as a solo developer is that it makes it easier to focus on what you’re working on. I, too, have found that as a solo developer, it’s very difficult to not pay attention to nearby conversations.

As it turns out, that’s only one part of the larger picture. We need to consider how this affects the whole team.

When you stop listening to nearby conversations, you are missing out on opportunities to help adjacent pairs. People seem to have a tendency to notice important words even when they aren’t paying full attention to a conversation — a nearby pair might be debating whether they should be using a FooWidget or a BarWidget, and perhaps you can answer all their questions since you were involved in writing both of the original implementations. If you can save that pair time by overhearing the conversation and answering their questions, then you are saving the client money and delivering better value to them.

If you’re working on something as a solo developer that requires you to focus so hard that you need to block out audible distractions, then perhaps that story is better suited to a pair than a solo developer, or maybe the scope of that story is too wide.

At Pivotal, we take pride in having an open workspace. To keep all lines of communication open, we don’t segregate people into cubicles or offices with closed doors. However, wearing headphones puts up a barrier that says “Don’t bother me.” The solo developer should be available to support the rest of the team however necessary, and support in a pair programming environment is not best accomplished from a distance.

I think that listening to music as a solo developer in a pair programming environment may offer some short-term psychological benefits to the solo developer, but overall it is detrimental to the team.

(Credit goes to Pivotal’s Adam Milligan for an original explanation of many of the reasons not to wear headphones while soloing.)