Remote work is possible but requires certain habits and tools to be efficient. One of such tools is Slack. In simple words it is a messaging app but it’s way more than just that. It is a good choice for the majority of companies, unless the company is a huge enterprise that already subscribes to Microsoft products – then the Microsoft Teams is a better choice (

Working efficiently in a remote team is obviously possible with every tool, but since I’ve been always using Slack I would like to focus on it, because I know it best. Some advice may however make sense for other tools as well.

Efficient communication in a remote team

How to use Slack effectively within a team? I’ll try to answer this question based on my experience from working in multiple companies of different sizes and using Slack in a slightly different way.

Use public channels by default

Channels over DMs

In general I found it better to default to using channels instead of direct messages (DMs). It’s easier to add more people to the conversation – and in Slack each new person in a group chat creates a completely new chat so the old messages are invisible for the new joiner.

Use public channels

Additionally I would say it’s better to use public channels over private ones. It encourages collaboration because the conversation may catch someone’s attention and they can start participating. And even if they don’t actively take part in the chat, they can still read it and gain more context about the topic.

A next benefit is that the messages are searchable which makes it easier to get back to the message to remember what was the conclusion and it may be super helpful when doing the code archeology because the messages may contain information how something was supposed to work or how to configure the system to work.

The messages are also linkable (at least in Slack), which lets us paste the link to the conversation into other places like Jira tickets or pull requests in GitHub.

Of course, not all messages should be public like for instance contract discussions, or planning a birthday surprise for the team member.

Do not send secrets directly via messages

Transparent and searchable conversation is important, but another thing that’s also very important is security. You should never send secrets in the messages (even DMs) – the system could be compromised and the secret could be viewed by unauthorized entities.

If you would like to send a secret via DM, you can use services like The message can be viewed only one time so even if the link has been compromised, the message itself is already gone.

Use naming convention for channel names

Having a common set of names among channels helps people navigate faster when looking for a channel to join. It could be anything, the most important thing is to make it consistent.


  • proj-X – temporary projects e.g. proj-referrals
  • team-X – for the teams, e.g. team-pandas
  • help-X – for the help in a certain area e.g. help-payments

Use threads for discussion

Using threads has two benefits. Firstly it makes it easier to skim through the channel and see different topics. If we want to see the whole discussion we can just open the thread.

Secondly it is better for all people who belong to the channel, and are not interested in the topic – they just won’t receive a notification with each new message on the channel.

Don’t expect an immediate answer

It’s clear that during the work day we would like to move forward with our commitments. However, the multi-tasking approach doesn’t work for everyone. It’s good to respect that someone may be in the focus mode, or at the meeting, and we won’t receive the answer for the next 2 hours. Having this rule in mind we may better plan our tasks during the day.

Show how the company uses slack during onboarding

People come from various places, they have different experiences and they used to use tools in a different way. It’s ok to show how we use Slack in our company and what rules we follow. This ensures consistent communication, and reduces cognitive strain if we had to follow each conversation in a slightly different manner. It’s also ok to politely ask someone to follow the rules if they forget them, e.g. continue discussion in a channel instead in a thread.

Start each channel message with a header

Not everyone can be interested in certain topics in the channel and sometimes the messages can be lengthy. We can spare a few minutes of reading and context switching for someone by briefly describing what the message is about.

We can even add a more visual characteristic by adding an emoji.

Mention groups, not specific people

Slack lets us define groups, so instead of doing @Mary or @Ahmed, we can refer to them as @backend, @teamGrape etc.

It’s going to reach more people by default that have a certain context and knowledge. If we see that someone already picked a topic, we can easily disable notifications for the thread. And one important benefit of this is that it reduces stress on certain people who engage in multiple areas. Over time they may get an aversion to engaging in new areas because that would mean getting even more targeted messages “to fix” or “to look at” something quickly.

Decide on meaning of some emojis

The emojis could serve as a kind of code that represents a state of a problem.

Examples could include eyes emoji (👀) that shows that someone already is looking at the problem, or checkmark (☑️) that the topic is closed and there is no need to look at it.


I’ve been using Slack as a communication tool in remote work ever since. It proved itself to be useful, but as with every tool – it’s just a tool after all. We have to use it wisely. That’s why I collected all the best practices when it comes to efficient communication in a remote team using Slack. These include:

  • using public channels by default – to encourage collaboration and improve searchability.
  • not sending secrets directly via messages – to avoid access to secrets in case a slack account was compromised
  • using naming conventions for channel names – so browsing channels is easier
  • using threads for discussion – so people are not annoyed by an incessant flow of notifications and the discussion is easier to follow
  • don’t expect an immediate answer – because people have their own rhythm and can be in focus mode
  • show how the company uses slack during onboarding – so people use it consistently
  • start each channel message with a header – because some messages tend be lengthy and not everyone may be interested
  • mention groups, not specific people – to avoid putting too much pressure on specific people, and to ensure the message has broader audience
  • decide on meaning of some emojis – to implement quick signals so the work is not done twice unnecessarily


Message icons created by Freepik – Flaticon
User icons created by Freepik – Flaticon

the post header image by Austin Distel –


I'm a software engineer with 9 years of experience. I highly value team work and focus a lot on knowledge sharing aspects within teams. I also support companies with technical interview process. On top of that I read psychological books in my spare time and find other people fascinating.