đź’¬

How to use Slack at Tremendous

What Slack is for

Work-related and fun chat

You can join any public channel to listen in, ask a question, or interact with a certain group.

Almost-synchronous, fast-moving information. 

Slack is the company newsfeed. It's impossible to keep up with everything shared in Slack, and you can't expect everyone to catch something you share in Slack.

In many channels, expect messages to be buried within a few hours. If you need information to last longer, document in Notion, or create an Asana ticket. You can always link to those in Slack.

Use public channels by default. DMs are private between two people or a small group of people. DMs should be used for private convos specifically.

If you find someone DM-ing you something that should be in a public channel for visibility, it’s acceptable to ask that person to repost in that channel so that you can reply. Or offer to do so on their behalf.

image

What Slack is not for

Non-ephemeral task discussion

If there’s a task in Asana, a doc in Notion, a PR in Github, or a mockup in Figma, best to keep the discussion in comments in the tool provided.

High-bandwidth collaboration

If you’re stuck on something complicated, it’s going to be much faster to hop on a call with 1-2 collaborators and iron out the kinks. Async has limitations. Complex projects that would be stalled in async workflows often get moving quickly once there’s a live discussion. This is why we still have live meetings for major decisions.

Topics where sub-communication matters

Conversations that require a human element (delivering feedback, building rapport, ironing out conflict) are best done live.

Keep your status updated

Keep your Slack status updated to let your team know what you're up to and how quickly you can respond to messages.

  • Use your status to flag OOO, like: OOO until June 15th
  • If you have a lot of meetings, use something like Clockwise or Google Calendar to sync your calendar.

Channel naming conventions

We use a basic Slack naming convention to keep things organized. This is done through prefixes:

  • #tremendous- - company-wide content (#tremendous-announcements, #tremendous-banter, #tremendous-praise, #tremendous-people)
  • #team- - each team has a dedicated channel (#team-sales, etc). We're making these accessible to entire org to increase transparency between teams. If there's regular content that's valuable exclusively to the team, consider creating a separate channel (see below).
  • -internal - is a smaller team channel, typically consisting of active team members (e.g. #marketing-internal). These stay public, but they tend to have more day-to-day chatter.
  • #sales-, #mkt-, #product-, #ops-, etc - team channels about specific topics (#sales-outbound, #mkt-blog, #product-ux-research)
  • #project- - ongoing projects. Archive upon conclusion of the project.
  • #bot- - automated posts / webhooks from other services (#bot-metrics, #bot-front-end-exceptions)
  • #geo- - content related to employee location (#geo-nyc)
  • #offsite- - offsite discussion channels
  • #interview- - interview channels, where external candidates are invited and can collaborate with us
  • #c-internal- - internal channels for logistics and discussion of individual candidates
  • #integration-, #partner-, - channels created to communicate with external parties (clients, vendors).
  • #incident- coordination channels for engineering-related incidents. Note: if the incident is sensitive, these may end up being private.
  • #random- - whimsy! catchall for anything that doesn’t fit into other prefixes (#random-music, #random-podcasts)

These are some of the important channels and their purpose:

  • #tremendous-announcements: Important company announcements and updates.
  • #tremendous-people: Personnel-related announcements and celebrations (new hire introductions, anniversaries, etc).
  • #tremendous-praise: Where we celebrate and thank co-workers.
  • #tremendous-banter: Fun / off-topic company-wide things.
  • #bot-metrics: Daily notifications of our progress towards goals.

Stay on topic

  • Team members subscribe to channels with expectations for topics. It’s fine to diverge, but if you find yourself having a lengthy conversation about the new Taylor Swift album in #project-compliance, it’s probably time to move it over to #random-music
  • Check the channel topic for details on the channel. The naming structure should be helpful as well.
  • It’s better to ask in the wrong channel than to stay quiet. It’s challenging to know what a channel is for, especially when you’re new. Just take a guess - someone will nudge you in the right direction.

Get to the point in your first message

This site says it all: https://nohello.net/en/

image
image

Avoid sending messages (”Hi”, “You there”, “can you talk”) that don't convey any information. This is particularly unhelpful in an async environment, where the person you’re pinging may be offline when the message is read.

Prefer sending a single message that contains all of the content that they need to understand.

As said on nohello.net: If you feel it's a bit brusque to simply say "Hi" and ask the question, you can still preface your message with as many pleasantries as you see fit.

Use threads

Threads let you respond directly to a message in a channel, keeping the replies, images, and other files organized neatly in a single, threaded conversation. Use them by default. (New to threads? Slack’s got an explanation.)

Why?

  • Threads help us keep up. An endless group chat stream is much harder to keep up with than threads that are nicely organized by topic. If you don't care about a topic, you can skip the entire thread and move on to something more relevant.
  • Threads are more searchable. When you search Slack for a question, it's much easier to find the answer when the discussion is neatly bundled in a thread.

Threads are most important in busy channels. If a channel is small and not very active, threads probably don't make a huge difference. For large, active channels, threads are an important way to stay organized.

Once you contribute to a thread, you'll be notified of any replies. You can also click "More actions" on a thread and choose "Follow thread" to be notified. Likewise, you can select "Unfollow thread" to remove notifications.

Create channels when threads get unmanageable

If there’s a long thread with a bunch of cross-talk, or multiple threads about the same topic in different channels… that’s a good indicator that this is worth breaking out into a separate channel.

This commonly happens with a site outage that affects many different teams. There might be a thread in #engineering, #bot-datadog, #support-clients, and others. The fastest way to fix this is to open a dedicated channel, and reply to the threads with the name of that channel.

image

Creating new channels (and archiving them)

If you need a new channel, go ahead and create it. You should:

  • Check that there's not already a channel that exists for the same purpose.
  • Use the correct naming scheme. Use hyphens for channel names, not underscores.
  • Set a clear channel purpose. These are especially useful to new members choosing which conversations to join.
  • Add important links or content to the channel topic. This is a great way to let visitors know how to learn more about your team or how to ask questions in your channel.

We create channels freely, but we also archive freely to keep channel count maintainable. If chat in a channel has gone quiet for a month or two, archive away. We can always reopen the channel later.

Separate out alerting and discussion channels

If there’s active discussion happening in a channel, and there’s also a Slackbot posting recurring messages into that channel, the bot messages may drown out the discussion.

To solve this, use a separate Slack channel for the notifications. Correlate the channels by using the same naming scheme:

  • Use #project-foo-bar for discussion related to the Foo Bar project
  • Use #bot-foo-bar for automated alerting (mode reports, recurring slackbot posts) related to that project.

Move to live discussion when Slack is too low bandwidth

We prefer async and online collaboration approaches, but sometimes a meeting can be quite useful:

  • If things are getting confusing, it’s likely time to move to a Zoom call.
  • If you’re getting stuck on something complicated or difficult, it’s valid (and expected) to request a Zoom call to work through it.
  • If things are getting heated, a Zoom call is likely the right move (though, it doesn’t have to be right away).

You can trigger a call with /zoom command in Slack.

Managing notifications (and your attention)

You have access to basically every channel at the team. This can be overwhelming.

You are the manager of your attention. It is on you to manage the firehose of information available to you. It is not feasible for other team members to only message you at certain times, or for channels to be quieter.

Some tips on how to do this:

Making requests in Slack

Consider using Asana

If you’re asking someone to perform a task, it might be better structured in Asana with a due date. A great pattern is to pair an Asana task with a nudge in Slack.

Using mentions

Slack mentions (e.g. @here, @nick) come with additional notification properties. This is useful, because many team members have notifications muted or off.

Type of message
When to use
Expectations
Message posted in channel, without a mention
General FYI to channel.
Most will see sometime.
CC (cc @nick)
General FYI, expectation that cc’d parties will see at some point.
Most will see sometime, cc’d will see soon, but may not respond.
Direct mention (e.g. @nick)
Requesting a specific action or response from someone.
Most will see sometime. Tagged will see soon, expected to respond.
@here
For important / urgent announcements, where visibility is important or specific action required.
All online will see immediately. Someone will usually respond soon.
@channel
For urgent, action required. Notifies teammates not at their computer.
All will see immediately, including those not at comp. Many will respond.

Adding context to your message

Prepend these to messages when they have specific expectations on responses.

  • (no reply required)
  • (not time sensitive)
  • (needs reply by Tuesday EOD)

Acknowledging requests

The core principle here: there are no read receipts in Slack. So acknowledging a message is a useful way to tell the sender that it was seen and processed. You can do this in two ways:

Emoji response - acknowledges silently.

Assume the sender won’t see these unless they look at the original message.

  • 👀 - seen
  • 👍 - acknowledged

In-thread response - notifies sender loudly.

Use in-thread responses for when you want to loudly acknowledge receipt. These will be akin to a DM. If you aren’t sure, prefer this to an emoji response, since it’s safer.

  • It doesn’t have to be lengthy - just reply with đź‘Ť.

Formatting messages

Slack provides some formatting tips to make your messages extra fancy with bold, italic, underline, pull quotes, code snippets, bullet points, etc. Learn to use these! They help get your content across efficiently to your readers.

Look at the difference between these two messages. Same content, totally different reader experience.

A wordwall. Difficult to scan.
A wordwall. Difficult to scan.
Titles, bullets, easy to process!
Titles, bullets, easy to process!

Search Slack for answers

We don't use Slack as a place to document important information, but it is searchable. If you can't find an answer in any of our docs and you're about to ask in Slack, it's worth doing a quick search first to see if anyone else has asked the same thing.

Slack messages are retained forever

As of now, our Slack is a permanent record of conversations. This is useful for history / search purposes. This also means that, in the case of a lawsuit, private slack conversations may end up being read out loud in a courtroom.

Be circumspect about what you write; it might eventually be read by someone else.

Productivity tips

Credits

Thanks to Zapier (another all-remote, bootstrapped company) for the original skeleton that we built this off of.