> One place I worked had the very strong rule that you start all non-emergency communication asynchronously (usually text chat), even if the person is right next to you.
A little bit off topic, but I too have experienced this, and I have to say, it's awful for productivity, team building, and team assimilation. As a new hire, I would send my mentor a question and it might be ten minutes to fifty minutes before I would get a reply. By then, I'd all but forgotten what I was asking about in the first place, since I had moved on because of not knowing how long I'd have to wait. That led to wasted time and an overall loss of focus.
No matter the environment, text-based and asynchronous communication just aren't very effective compared to spoken communication, even when considering the interrupted party momentarily losing their flow.
It depends on the social norms. In my office, thankfully, there is a norm that you only go to ask another person after you've looked through the documentation and attempted to understand the code or error message yourself. I don't mind being interrupted in my current work environment, because I know that 90% of the time, the interruption is a worthwhile one - that there is a non-stupid question for me to answer.
I have worked at offices where this norm did not exist. I would strongly challenge your assertion in that case. My productivity definitely was adversely affected. What I think a lot of people lose sight of is that interruptions are additive. If you get interrupted once or twice, that's fine. You can recover and get on with whatever you're working on. But if the interruptions are a regular feature (especially when they're for little things that take two to five minutes to solve, but require you to drop all your current context) it takes longer and longer to recover. At some point (usually around lunchtime in my case) I'd just give up and hop on IRC or Hacker News, knowing that it was unlikely I'd get much work done that day.
It got to the point where I'd come in at 6:30am and leave at 3:30pm just so that I could have a few hours of uninterrupted coding time at the beginning of the day. And this was in an office where it was just other developers I had to deal with. I would probably last less than a week in an office that I had to share with non-developers (especially sales, who have to be constantly on the phone).
Your middle paragraph is exactly what I see of myself.
I go in the morning and everything is ready to go and so am I, but then attempting to load my brain with whatever I am working on, getting a question every 5 minutes or so makes it seem like a running a marathon and the cognitive load is such that I would rather just dedicate the time and work on it at home.
Amen. Worked in an open floor plan (30ft long rows with 8 people at each) and now work in an office of cubes (6'x7'), so actual desk space is the same. I found the developer collaboration and communication far better in the open plan than the closed plan. People were always communicating the the former and almost never pop their heads up for air in the later.
Today a coworker was IM'ing me and I then I realized that he was sitting literally 18" from me behind a partition so I just starting talking out loud to him. Seemed to unsettle him. Collaborate damn it!
Do they want to hear you talking to him? I sure wouldn't want people talking while I'm trying to concentrate.
"Collaboration" doesn't have to mean annoying your coworkers. If you need to do things aloud, that's fine--I sometimes find it better too--but it's vastly better go somewhere private for it.
I often find the opposite. We discuss details, and go through options changing our minds a number of times on the way.
Via email (or text based communication), then the result is clear, and I can refer back to it afterwards. Also meetings with non-technical users tend to go around in circles where they discuss trivial details that are pretty irrelevant.
Some kinds of work respond very poorly to interruption, and for others it's trivial. Breaking a coder out of their 'zone' kills their productivity. Breaking a typist out of their 'zone' is trivial. This being said, if someone is meant to be mentoring you, then this will require special tactics as it is a special relationship.
This isn't really a feature of the environment, except accidentally. What's really at stake here is striking the balance between the short term cost of integrating a new team member and the long term cost of failing to integrate them well.
I sat next to my very first technical mentor for a few years, and he had no compunction about holding up a finger and saying "hang on" curtly when I'd start to ask something. If you all agree that it isn't rude in this context, I think that reaction can help. I do it myself occasionally and usually can keep about 80-90% of my flow.
Try doing that to your wife on work-from-home days at your own peril.
At my last job (less applicable now as I WFH), it was acceptable practice to give a "hold on" to everyone you'd run into on a daily basis. Maybe not the CEO, but the VP of Engineering would wait a sec if you needed to get something done Right There.
> As a new hire, I would send my mentor a question and it might be ten minutes to fifty minutes before I would get a reply.
This is a weaird problem to me. At my last job, we had the "ask async first" thing--but, yeah, if they're not responding and it's urgent, then of course you go ask them, that's just obvious. But the point is that this behavior should be rare because it's not "momentarily" losing their flow, it's often losing it for ten to fifteen minutes. A two-second IM is less likely to make them lose it than you walking over, so start there.
Great point, I've also experienced that as a new hire.
The best new hire layout I've had was purposely being assigned to share an office with my mentor. Since we were in a physical office, I wasn't afraid to ask any questions, even the dumb-sounding ones that otherwise would be overheard by everyone within ten feet in an open plan.
A little bit off topic, but I too have experienced this, and I have to say, it's awful for productivity, team building, and team assimilation. As a new hire, I would send my mentor a question and it might be ten minutes to fifty minutes before I would get a reply. By then, I'd all but forgotten what I was asking about in the first place, since I had moved on because of not knowing how long I'd have to wait. That led to wasted time and an overall loss of focus.
No matter the environment, text-based and asynchronous communication just aren't very effective compared to spoken communication, even when considering the interrupted party momentarily losing their flow.