I work at a digital innovation and development studio where our distributed team of engineers, developers, designers, content creators, and product managers have used Slack as its primary communication tool for years now. With Slack’s recent IPO the popular chat tool with the mission is to kill email is sure to catch on in many more companies, but using Slack effectively rather than it becoming a noisy nuisance requires some organization and etiquette. As an organization that has finely tuned its use of Slack, here are some guiding principles we’ve found that work best for keeping Slack productive, informational, inclusive, and fun.
Transparency is Good for the Whole Team
We communicate as a team on Slack the same way we would via any other form of communication—by following our Core Values. This includes earning and dispensing trust, calling our shots, working transparently, and being excellent to each other. We also aim to work out in the open as transparently as possible since we’re remote.
It’s easy to default to sending private messages to single people when you don’t feel comfortable yet or know where to ask something. You may think you’re being courteous and “keeping the noise down” by opening private channels for projects. But in our experience, we have found that conversations happening out in the open, even between two specific people, benefit the whole team by keeping people in the loop.
Even though Slack feels more “instant access” than email, it’s still accepted that asynchronous communication is the default expectation. We do not support unrealistic expectations about any person’s availability. If you need to close Slack to get some heads-down work done, do it! Even better if you set your Slack status to let others know.
Get Your Settings Right
First, set your settings for alerts and availability. On the top left of your Slack app you’ll see your name. When you click your name you’ll have the option to set a status, edit your profile, and select your preferences. Add a short bio on what you do and alternative ways to contact you, such as your GitHub handle, phone number, and email so that your teammates know how to reach you (or even who you are if you’re at a big, remote team like ours).
With our very active Slack, we’ve found that the following settings are the most ideal:
- Set notifications for DM’s, mentions, and keywords only
- Select “notify me about threads I’m following”
- Set your Do Not Disturb hours
- Mute sounds
- Mute channels
Slack Channel Basics
To keep the conversation going without unnecessarily distracting teammates who aren’t critical for an instant response, it’s important to use the @ symbol correctly. After all, the purpose is to have transparent and open conversations without unnecessary distractions or cognitive overload for everyone else.
Use the @ symbol to tag a team member to direct your comment at someone within a channel. Avoid @ mentioning someone on a line alone and/or their name and ^ to point to your previous comment. You can always edit your message to make a fix if you didn’t do it right the first time.
If your entire message is included along with the person’s Slack name, that person will see the Slack notification flash on their screen (if they choose to have these turned on) and can triage accordingly. Don’t be shy about pinging if you need something, such as a PR review or a pairing buddy. Pinging someone directly is an efficient way to get a response to your question, rather than just throwing a question or request into a channel and waiting for someone to respond.
@Deja not sure how far you’ve gotten with the rollbar bug, but I found some feedback for you on #4754. Not urgent, but grab me if you have any questions or want to zoom.
@steve Can I help with #4765? Are you available to pair?
Use @here if you’re not sure who to ask, but you want to alert the active team or find someone who can help:
@here I’ll be five minutes late to today’s sprint planning call. Please start without me!
@channel generally signifies a message of extreme importance. Use this sparingly. @here will typically suffice:
@channel Users are getting 500 errors on this page
To reference a specific group of people, we have specific groups for role like @designers @engs @qa and @pms set up.
@engs I need some eyes on my PR #4124
Use emoji reactions to acknowledge a message (particularly if it was a general announcement with @here).
- ✅ or 👍 reaction lets the author know you read their comment and agree
- 👀 reaction lets the author know you are looking into what they said or are following along the conversation
- ⭐️ reaction lets the author know you starred their comment to circle back to later
- ❤️ show some love and support!
Side note: Here are 100 Slack Emojis Your Team Needs!
If you’re referring to a specific project or another Slack channel, go ahead and use the # before the word to link it up.
Did you know that Slack also has its own version of Markdown? If you want to emphasize what you are communicating, it’s as simple as:
- _italics_
- *bold*
- :emojiname:
- ~strikethrough~
- `code`
For your personal peace and quiet, you can always mute the channels that you only want to read from time to time. If it’s not relevant for you, just leave.
Slack also has some handy shortcuts that will make your life easier. Our favorites include:
- Using command-k to find channels or go through all channels with unread messages
- Hang out on “All Unreads”, shift-escape marks everything as read
- Star things to come back to. Your ⭐️’s becomes your to do list!
- command-. makes the sidebar go away, or reveal
How We Slack
If you have a longer message to send, type it up in your text editor, then paste into Slack to avoid sending before you’re finished typing, having to go back and edit your Slack message, and someone getting confused.
Everything in moderation. This includes emojis, gifs, curse words, etc.
We are a casual group, but spelling and grammar are still appreciated. Less crucial are capitalizations.
In general, always be deliberate and specific. Avoid using pronouns even if it feels weird to type a proper noun more than once in a sentence. This will help murder ambiguity and the chances are higher that others, even those just joining the conversation, will understand your meaning.
When you have a question or problem, detail what you’ve already done and any theories you might have in order to provide context to the person you are asking for help from.
If you need to get some heads-down work done or are in a rough mood, it’s totally ok to close Slack for a few hours to focus and recharge. We don’t assume all Slack message are crucial — in fact, most are not, with the exception of #firedrill threads.
Never just say “Hi”. State yo bidness in the message, particularly if you’re mentioning someone’s name or in a (rarely used) DM. It ruins your ability to manage your own time and attention and encourages the dopamine slot machine interpretation of Slack.
Direct Messages
We do our best to discourage Direct Messages, both internally and externally. We find there is very rarely a reason to send a Direct Message. Design conversations, product direction, questions about timing – these are all extremely useful conversations for the entire team to use as a resource.
We find that Direct Messaging is only good for “Human Resources” type conversations that need to be private. We foster inclusiveness and transparency by having conversations out in the open so anyone can chime in and stay in the loop, even on fun stuff in #watercooler. If someone sends a DM, we usually direct them back to the public channel, including, and especially, external partners.
If you’re urgently looking for someone, sometimes it’s best to go to their profile to find their phone number and shoot them a text or give them a call. This is done only when absolutely necessary and that person has not responded to any Slack communication for some time.
Internal Channels for Specific Topics
Slack channels such as #resourcing #process and #implementation help people understand where to ask a particular question. Especially as a new person on the team, knowing WHERE to ask a question is sometimes half the battle. “I don’t want to bother the wrong people” is a thought I had several times before figuring out where to post questions/comments. The Etiquette tie-in being, asking questions in the right spot informs the right people and gets your question answered quickest.
How to Use Threads
Threads! A lot of people really hate them with good reason – you may not click on every thread, and miss good conversations or decisions. But threads have a purpose and help keep conversations confined instead of littering up a channel.
This may seem like something everybody just does because it’s the right way to do it. But it’s not. I think about things I’ve seen in the #firedrill room. Somebody will leave a one or two-word post and then immediately start a thread with the actual details and then CC the people who need to be involved. This is brilliant because you don’t end up with mixed streams of content in the instance where multiple conversations are going on in a channel at the same time.
When to thread:
- when you start something and know you will want to have a conversation
- when you respond to something and don’t want messages to get lost
- When you have a lot to say about a topic you can thread paragraphs
Other Best Practices
- Declutter your sidebar by hiding everything not active
- Disable “left channel” messages
- Use “remind me” in message options
- strike-through complete threads, especially in urgent or time-based events such as #firedrill
- Set your status so your team members know if you’re away from your desk, heads down, or available for chatting/pairing.
And remember—never Slack while angry or drunk. Slack can feel much more casual than email, but you’re still communicating to your teammates, your boss, and in our case, our external partners and customers, too. Keep it professional at all times.
We're building an AI-powered Product Operations Cloud, leveraging AI in almost every aspect of the software delivery lifecycle. Want to test drive it with us? Join the ProdOps party at ProdOps.ai.