
How We Get Things Done (2015) - bootload
https://engineering.canva.com/2015/08/25/how-we-get-things-done/
======
specialk
_Concentration indicators:_

 _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.

~~~
rocketcity
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/](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.

Really great list though. Good read.

~~~
bsbechtel
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.

~~~
karmakaze
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?

------
why-el
> 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.

~~~
damncabbage
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.

------
jimbokun
"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.

------
amelius
> There are few problems that can’t be solved quickly by judicious browsing of
> Stack Overflow.

Only for the simplest of problems.

~~~
mercury_craze
I read this as "If you need to use stack overflow then you're not a real
programmer. " Was that your intention?

~~~
golergka
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.

~~~
rqebmm
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.

