Chapter 3
Email and Slack Etiquette in Remote Environments
Remote work does not fail because of technology. It fails because teams import office communication habits — the hallway conversation, the quick tap on the shoulder, the ambient awareness of who is working on what — into an environment where none of those things exist.
The habits that work in an office create friction in a remote team. The habits that work in a remote team feel overly deliberate at first, and become invisible once they are established.
Async First, Sync by Exception
The default in a remote environment should be asynchronous communication. A message that does not require an immediate response should not be sent in a way that expects one. This sounds obvious. Most remote teams do the opposite — they treat every message as urgent, they expect real-time responses to Slack messages, and they schedule synchronous meetings to handle things that could have been resolved in a thread.
The cost: context switching. Every time someone is pulled out of deep work to respond to a Slack message, they pay a cognitive toll that takes time to recover from. A team where everyone is expected to respond immediately to messages is a team where nobody can do deep work.
The norm to establish: messages that do not have an explicit urgency indicator are assumed to not require an immediate response. Define your team's expected response window (four hours in a workday is reasonable for most contexts). Make that expectation explicit.
When something genuinely requires a fast response, say so: "Urgent: need input on this before the 2pm call." When it does not, write it in a way that signals the reader can get to it when they have a natural break.
Channel Discipline
Most teams have too many Slack channels and no shared understanding of what each one is for. The result: duplicate messages, missed messages, and the exhausting habit of monitoring many channels to avoid missing something important.
A functional channel structure needs three properties:
Named by purpose, not by audience. A channel called "backend-team" is ambiguous. "Backend-incidents," "backend-deploys," and "backend-architecture" are specific. When the channel name describes the content, people know where to post and where to look.
Explicit norms. What is this channel for? What does not belong here? Write it in the channel description. For high-traffic channels, pin a message that states the norms. This is not bureaucracy — it is the documentation that prevents the channel from becoming unusable in six months.
Low-noise by default. Channels where everything is important are channels where nothing is important. If a channel generates more noise than signal, it will stop being monitored. Reserve @channel and @here for genuine urgency. Pin messages that need to be findable later. Archive channels that have served their purpose.
Writing Messages That Reduce Follow-Up
The single most impactful habit in remote communication: write messages that anticipate the follow-up questions and answer them in the first message.
The instinct in chat is to send a short message and iterate in conversation. This works in an office. In an async environment, each round trip takes time — minutes if people are available, hours if they are not. The message that requires three exchanges to get to the answer is three times as slow as the message that was complete to begin with.
Before sending a message, ask: "What is the most likely question this will generate?" Answer that question in the message. A technical question that provides the relevant context alongside the question can often be answered in one response. The same question sent without context requires a clarification exchange before the answer can be given.
Compare:
"Hey, should we use approach A or B?"
versus:
"Working on the session expiry logic. Considering two approaches: A (extend the session on every request, simpler to implement but increases DB writes) or B (only extend on authenticated actions, more complex but lower write volume). Given we are expecting high traffic, leaning toward B. Does that sound right to you, or am I missing something about the auth flow?"
The second message can be answered directly. The first cannot.
Tone in Text
Text removes the social signals — tone of voice, facial expression, body language — that modulate meaning in in-person communication. This creates systematic misreads. Terse messages read as cold or annoyed. Casual messages read as unprofessional to people from cultures with different defaults. Direct messages read as aggressive to people accustomed to more indirect communication.
Three practices that reduce misreads:
Add a sentence of context to direct messages. "No" as a response to a proposal reads very differently from "No — the reason is that we have a policy against X, which affects this. Let me explain." The extra sentence is not padding. It is the signal that keeps the relationship intact.
Use formatting to signal structure, not just emphasis. Bullet points in longer messages help readers navigate. Bold text on the key ask or key decision helps readers extract the important thing quickly. Plain paragraphs in long messages are harder to scan, which means they get read less carefully.
Do not rely on emoji to carry meaning, but do use them to set tone. A simple "sounds good" can read neutral or curt depending on the reader's mental state. "Sounds good!" with a reaction emoji tends to read as genuinely positive. This is not about being performatively cheerful — it is about compensating for the warmth that text removes.
When to Escalate to Synchronous
Async communication handles most things. It handles badly: emotionally charged conversations, complex back-and-forth where context changes with each message, situations where real-time reaction matters (like collaborative debugging), and conversations where the body language of "I am taking this seriously" needs to be visible.
The rule: if an async thread has gone three rounds without converging, call a meeting. If a message feels too sensitive to send in text, have the conversation. If a topic has more than two or three real dependencies in the discussion, the branching structure of a meeting serves it better than the linear structure of a thread.
The Practical Move This Week
Audit your last week of Slack messages. Find three messages you sent that generated follow-up questions that you could have answered in the original message. Rewrite each one as if you knew the follow-up question in advance.
Next: the meeting problem — why most meetings are too frequent, too long, and insufficiently useful, and the specific practices that fix all three.