Interruptions still happen, of course. When one does, we suggest letting the person know upfront that you’re concentrating on something, and asking them if it’s urgent. And if you’re the person doing the interrupting, try not to get offended when you get asked if your needs are urgent.
OMG yes big fan of this. Setting expectations up front for this kind of behaviour is great. Without a 'culture' for allowing people to stay focused without an immediate interruption, I have always found it hard to explain to people interrupting me why they could have used an asynchronous communication tool, like Slack/HipChat/email, for non-urgent questions.
Trying to figure out how to tackle this issue right now as we just went to an open floor-plan. Wondering if getting all of the team using https://blink1.thingm.com/ with a standard set of color code conventions (red=Do Not Disturb) would work better. The headphones trick doesn't seem to be sending any message at all.
Can't you just have a card on everyone's desk. One side is green, one side is red. If you put the red side up, it means do not disturb? I don't mean this in any way as a personal attack on you, but tech culture in general sometimes gets too focused on using technology instead of just finding a solution that works. Sometimes it's good to take a step back and ask again what the goal is.
The headphones act can be unconscious, seeking silence, whereas a card is more abstract and could have stale state. My fave is putting in earbuds, then noise-cancelling headphones, and no music. The earbuds reduce subsonic cancelling pressure.
Sometimes people are just listening to music and could be interrupted. How do we distinguish this form?
Do you like the open floor plan? The company I work for is big on having everybody in an office with a door. A closed door indicates do-not-disturb. It also helps keep the noise down. After working this way for a couple of years, I don't think I'd want to go back to an open plan or even cubes.
There are pros and cons to both. At my previous job I had an office and felt that it took a lot of extra inertia to get a technical conversation going between people as you felt like you were invading their private space in order to talk. While this barrier to entry has been removed with the open floor plan I think it can easily swing too far in the other direction if safeguards are not added. I can no longer get 30 minutes to actually concentrate on coding without getting an interruption from others on my team.
> In many chat tools, notification state is not preserved across network reconnection or signout/signin. If you send someone a message, you have no way of knowing if they’re ever going to notice it.
This is no longer true with Slack no? I mean, Slack is smart about when to email you in case you miss reading a post, and it's all perfectly synced between desktop and mobile.
Agreed; HipChat is unfortunately a bit terrible about this. I'll often "lose" a notification from someone when I'm offline: it sends an email, yep, but the chat client itself loses the "unread message" bubble. I have to make sure I check email on every reconnect.
"Our open plan office is great for camaraderie and vibe, but it can sometimes make it difficult to focus, especially if you’re working on a task that requires deep concentration. Some people hold a lot of context in their working memory at any one time, others don’t. Some people welcome interruption, others don’t. To work together effectively, we ensure that everyone is aware of the almost-universal-but-usually-unspoken ways that engineers work day to day."
It's fascinating how resilient the open office plan is to all the research showing it's bad for productivity.
"Camaraderie and vibe" are difficult to quantify, or to even explain in concrete terms how they contribute to profits, revenues, or whatever your most important metrics are. Or, for that matter, demonstrating "camaraderie and vibe" actually increase with an open plan office, versus individual offices.
On the other hand, the ability of engineers to focus and solve problems obviously has a direct influence on the company's bottom line, I would think.
Frankly, it would be refreshing to see more executives just admit they don't want to spend the extra money for real offices, than hiding behind "camaraderie and vibe" to justify their decisions while trying to still seeming cool and hip.
YMMV, but I've found StackOverflow helps immensely by keeping you out of the weeds and focused on the task at hand. Yes it works best for simple problems - that's the point. I'm not paid to solve simple problems. SO keeps me from getting distracted by the "simple" things - I think we've all gone down the rabbit hole of "well how does this actually work" more than once.
No, it's "if you constantly need to use stack overflow, you're most likely a beginner in a given tech", and real programmers are going though beginner phase much more often than fake programmers, because they learn more new stuff.
But also "if most of your problems can be solved by stack overflow" than you're either not solving hard problems, or, and this is much, much worse, you're not aware that you're facing hard problems with things like architecture and code organization, and solve them in a naive, straight-forward way, not even recognizing the future implications — and that, indeed, means that you're not a real programmer.
When I first started programming professionally a few years ago I, like any beginner, leaned heavily on Stack Overflow.
When I became experienced I prided myslf on the ability to solve simple poblems with nothing more than my knowledge of the language, frameworks, and occasional trip through the reference manual.
Eventually I realized it was just faster to google those questions as soon as I had them rather than try to remember or solve simple problems.
Stack Overflow is useful precisely because it lets me focus my mental energy on solving hard, "real programmer" problems like architecture and code organization.
I find myself coming back to stackoverflow after I leave a language/toolset for a while. I'm not a "beginner" in those things but stuff like syntax may not be fresh on my mind, and SO is great for reminders like that.
Wearing headphones
Working away from normal desk
Interruptions still happen, of course. When one does, we suggest letting the person know upfront that you’re concentrating on something, and asking them if it’s urgent. And if you’re the person doing the interrupting, try not to get offended when you get asked if your needs are urgent.
OMG yes big fan of this. Setting expectations up front for this kind of behaviour is great. Without a 'culture' for allowing people to stay focused without an immediate interruption, I have always found it hard to explain to people interrupting me why they could have used an asynchronous communication tool, like Slack/HipChat/email, for non-urgent questions.