Trading Fish The website of Hector Castro

About / Writing / Talks / Feed

How I Make Slack Work for Me

As a daily Slack user for the last seven years, I’ve spent a lot of time exploring ways to get the most out of it as a collaboration tool. While I have mixed feelings about its impact on productivity, I figure Slack isn’t going away any time soon, so I may as well learn how to make it work for me.

The sections below capture some Slack features and general tactics I’ve employed to make the most out of Slack as a tech lead and engineering leader in a software development focused organization. I hope you find some of them useful.

1. All unread entrypoint

By default, the all unread feature of Slack is disabled. When enabled, it adds a new top level entry to the left-hand Slack navigation that allows you to browse all of your unread messages, grouped by channel, in a single view. While in this mode, you can scan messages, but also access all of the individual message shortcuts.

I use this feature as the entrypoint for digesting all Slack messages because it enables the move Denise Yu so eloquently summarized as, The Art of the Rollup.

The ability to digest top level channel discussion as it develops, while still leaving it all marked an unread, allows me to bookend the context necessary to assemble an effective rollup.

2. Follow thread

The follow thread feature is easily the Slack feature I use most on this list. It allows you to subscribe to messages published in a thread without contributing any messages to the thread. I use it pretty liberally on any interesting message that pops up in a channel. Then, I mark the channel as read via the All unread view referenced above.

It is worth cautioning that heavy use of this feature can quickly escalate into behavior that becomes indistinguishable from micromanagement. Especially, if you use it to inject yourself into lots of conversations where people are trying to develop problem solving skills.

3. Reminders on messages to track commitments

The Kahn Academy career development guide emphasizes a top level attribute called Maturity. They cite the ability to follow through on your commitments as a sign of maturity (e.g., doing what you say you are going to do).

As a typical work day progresses, tons of micro commitments come up and many occur in chat. Setting a reminder on a message provides an effective in-context way to track, snooze, and reschedule commitments so that they don’t get lost in the shuffle.

4. Strategic keyword notifications

Most folks are familiar with (and possibly loathe) Slack notifications. Notifications happen when you get a direct message, when someone mentions you, or when someone mentions a group alias you’re a member of. But, Slack also provides a way to set up an open-ended list of keywords that trigger notifications.

In the past I’ve taken advantage of this feature to target certain keywords that have a tendency to lead to architecturally significant events:

  • bad idea
  • cache
  • lock
  • redis
  • should work
  • trivial

5. Saved items as source for feedback

It has been said that feedback is a gift. But, as with any great gift, feedback can be difficult to identify and deliver.

One way to make the feedback more effective is to connect it to specific events. For example, telling someone that they did a really good job at disambiguating a complex topic in a meeting last week. Or, that their testing instructions on a pull request from yesterday were detailed and easy to follow.

Neither of these examples are tied to chat, but many others are. To help persist that level of specificity across different Slack channels, I repurpose the Slack save messages and files feature to track examples of both exemplary and poor communication. Any time I see a good candidate, I don’t have to think—I just click on the bookmark (used to be :star:) icon. Later, I draw upon that list to support feedback in venues like one-on-ones, performance reviews, calls for kudos, etc.

6. Quiet hours

A couple of years back, I was exposed to the concept of Slack quiet hours by Nassim Kammah in a talk about remote-first team practices. Quiet hours are periods of blocked-off time when the team does not actively engage in Slack conversations. Colleagues are encouraged to save questions, requests, and conversations for outside of these periods.

Reserved blocks of time off Slack aim to help enable deep work and mitigate the amount of context switching and FOMO that can occur as we bounce between completing tasks and keeping up with the never-ending Slack firehose.

7. Team CHANGELOG channel

Also sourced from Nassim’s talk above is the use of Reacji Channeler. Reacji Channeler is a Slack application that routes messages annotated with specific reactions to a designated channel. It can be configured in many ways to target a wide variety of use cases, but the use case described in the talk is particularly interesting: using it to produce a team CHANGELOG.

As significant events occur throughout a team’s day-to-day, someone summarizes (or rolls up) the event into one message that includes the surrounding context. When the appropriate reaction is applied to the message, it gets routed to a team CHANGELOG channel (e.g., #sre-team-changelog).

The goal is to produce a channel log such that if someone goes on vacation for a week, they can come back, read just that channel’s backscroll, and be caught up.

Special thanks to Terence Tuhinanshu for encouraging me to write this.