I think after reading the tone of your response I can determine that I would have a difficult time working with this type of personality. As a developer interruptions are a huge productivity drag. I have to stop whatever I'm doing, answer your question, and figure out where I left off and get back into the right mode to program which can take a while.
Right now I have a few work-from-home days a week and I find I'm enormously productive on those days due to lack of interruptions. If the company cannot sacrifice face time and trust for higher developer productivity (even in the name of teambuilding) then I wouldn't want to work there.
Like a few others who have responded, you're not seeing the forest through the trees. That's somewhat alarming for a group of people who are supposed to be creative problem solvers.
Team productiviy > your individual productivity. It's that simple. Do you think your team members interrupt you just for the fun of it? No, they interrupt you because they need your help to accomplish something. As a resource to the team, you hurt it's overall performance by making yourself less availble.
> Team productiviy > your individual productivity. It's that simple. Do you think your team members interrupt you just for the fun of it? No, they interrupt you because they need your help to accomplish something.
Team productivity is the sum of individual productivity though. Having all of the individual productivity disrupted is going to lead to lower team productivity.
"Here's the simple algebra. Let's say (as the evidence seems to suggest) that if we interrupt a programmer, even for a minute, we're really blowing away 15 minutes of productivity. For this example, lets put two programmers, Jeff and Mutt, in open cubicles next to each other in a standard Dilbert veal-fattening farm. Mutt can't remember the name of the Unicode version of the strcpy function. He could look it up, which takes 30 seconds, or he could ask Jeff, which takes 15 seconds. Since he's sitting right next to Jeff, he asks Jeff. Jeff gets distracted and loses 15 minutes of productivity (to save Mutt 15 seconds).
Now let's move them into separate offices with walls and doors. Now when Mutt can't remember the name of that function, he could look it up, which still takes 30 seconds, or he could ask Jeff, which now takes 45 seconds and involves standing up (not an easy task given the average physical fitness of programmers!). So he looks it up. So now Mutt loses 30 seconds of productivity, but we save 15 minutes for Jeff. "
Team productivity is the sum of individual productivity though. Having all of the individual productivity disrupted is going to lead to lower team productivity.
This is generally untrue in my experience. Team productivity is usually limited by a bottlenecks and silos where progress stops. It seems counter-intuitive but you really can go faster as a whole by slowing some folks down. You don't get faster as a whole until you get your critical bottlenecks in the process faster.
Are we really talking about "the team" here, or are we talking about a PM who interrupts developers multiple times during a day, in order to re-prioritize tasks, get status reports, etc?
Right now I have a few work-from-home days a week and I find I'm enormously productive on those days due to lack of interruptions. If the company cannot sacrifice face time and trust for higher developer productivity (even in the name of teambuilding) then I wouldn't want to work there.