Kristian Glass - Do I Smell Burning?

Mostly technical things

When Slack Is Your Office

My team is distributed; twelve people everywhere from Munich to Berlin, Rio, Nova Scotia, “somewhere north of Katowice”, Biggleswade and Berwick-upon-Tweed (among others!).

Accordingly, Slack acts as our office. We rent some office space in Munich, but Slack’s where the magic happens. We interview on Slack because that’s where the majority of our interactions occur. We have JIRA, we have GitHub, we have email, we have Hangouts, but by volume and frequency, Slack’s where it’s at.

We spent a long time on IRC but it took migrating to Slack before we really got the whole company on board; the mobile support, the ease of use, the easy integrations and the richness of the medium were all vital to this.

So here’s some things we learned along the way!

Make all the channels

Channels are free

This isn’t IRC where making a new channel usually means admin faff, remembering to get relevant bots in there, and other such tedium.

Fork conversations early and have them in topic channels. Treat your channels as fluid filters, not as fixed “rooms”. We’ll start conversations in #tech only to move them into #docker or #hiring or #payments – often broadly the same set of people will be in both channels, but you get grouping by theme which is great for discoverability, as well as stopping more general channels from getting bogged down in a detailed debate about e.g. scheduling frameworks.

An added bonus is that people can focus their attention more – if I come back to a long conversation in #hiring, I probably want to take a decent look at it, whereas I’m far more likely to just mark all as read in #emacs-curious or similar (“vi vi vi!” etc.).

When new channels are being created all the time, it can be hard to keep up. Fortunately randsleadershipslack/destalinator monitors newly-created channels and provides a daily summary in #zmeta-new-channels so there’s no need to miss out. It also provides archiving functionality for idle channels – great for cleaning up short-lived topics and generally aiding discoverability for new people.

Pin all the things

Someone’s said something particularly relevant, important, or generally astounding? Pin it.

There is a limit to the number of things you can have pinned in Slack, but it’s pretty high. So pin often and enthusiastically, and cull later as things decline in utility.

As good as Slack’s history and search are, chat is still fairly ephemeral, so pin things.

In #mail we have a pinned message with instructions for if you have mail problems. In #infra-chat we have Graphite dashboards and JIRA searches pinned. Exactly what you pin will be highly context dependent, but pin away nonetheless.

Mute often and hard

I’m in quite a few channels – 95 at last count. At least half of those are muted (and many that aren’t are fairly low-traffic).

Muting them means I can still be there to dip into conversations as and when I need or want to, but unless someone explicitly @-mentions me in one, they won’t show up on my unread list, and present no sort of distraction whatsoever.

I’ve muted #emacs-curious because while I am slightly curious, it’s not enough to actually spend time in. I’ve muted #marketing because although it’s something I care about, and an interesting channel, the day to day conversation there generally isn’t for me.

A subtle side effect of this that can sometimes catch people out – unless you explicitly highlight someone in a channel, they may never see your message. Indeed, this is true even without muting; while personally I try to catch up on scrollback of all (un-muted) channels I’m in, that’s not a reasonable expectation. Proactively @-mentioning people helps ensure that people aren’t just typing into the void.

Don’t abuse @here/@channel

You might think this goes without saying, but there can definitely be some different and idiosyncratic expectations around notifications.

We don’t use Slack for critical real-time communication (I don’t believe it’s the best tool for that) but we do expect that notifications receive some attention.

Excessive use of @here/@channel makes notifications sufficiently noisy that they erode their value – especially if this is in the #general channel (or equivalent) that people can’t leave.

That’s not to say they shouldn’t be used at all, but it’s really important to ask yourself “is this something actively relevant to everyone here” first!

Public by default

This applies to most of our communications, not just Slack, but still very much bears repeating.

Unless there’s good reason to use a private message, try to ask questions or discuss things in an open channel – even if you’re fairly sure it only concerns you and the other person.

Chris Lamb’s “Don’t Ask Your Questions In Private” covers this well, particularly:

[A] private communication cannot be corrected or elaborated on if someone else notices it is incorrect or incomplete. Even this rather banal point is more subtle that it first appears — the lack of possible corrections deprives both the person asking and the person responding of the true and correct answer.

Lastly, conversations that happen in private are depriving others of the answer as well. Perhaps someone was curious but hadn’t got around to asking? Maybe the answer—or even the question!—contains a clue to solving some other issue. None of this can happen if this is occurs behind closed doors.

(There are lots of subtler reasons too — in a large organisation or team, simply knowing what other people are curious about can be curiously valuable information.)

Face time still matters

Again, not specific to our Slack usage, but important nonetheless – as useful and important as Slack is to our daily work, voice chat, video chat and actually being in the same room are all important too.

By their nature they’re synchronous, they have higher requirements, but they’re also higher bandwidth – non-verbal communication is incredibly important.

I have regular 1-1s with each of my team members and other colleagues, usually over Skype, and as a company we meet up every few months or so in Munich. Slack’s great, but so’s sitting down for coffee with someone.


Slack’s great. A big mass of people spamming notifications at each other in #general isn’t. Fortunately that’s an easily avoidable situation, and it’s invaluable once you get sorted.