How We Get Things Done (2015)
engineering.canva.com
engineering.canva.com
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.
Really great list though. Good read.
Sometimes people are just listening to music and could be interrupted. How do we distinguish this form?
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.
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.
Only for the simplest of problems.
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 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.