Internal comms

The larger a company grows, the harder it is to make sure everyone has the information they need. As the company scales, more information is generated. At this point, it is impossible for any one person to hold the whole state of the company in their head.

There are a number of factors we need to consider when thinking through internal comms:

  • The relative priority of pieces of information, and who needs to know what and when

  • The synchronous or asynchronous nature of the communication channel (e.g. email vs. Slack)

  • The efficiency of the human brain processing different types of communication (e.g. written vs. verbal)

  • The purpose of the communication (knowledge transfer vs. behavior change)

  • The remote/hybrid nature of our company

Clearly not all information needs to be communicated all the time. We just need to make sure the right bits of information get to the right people over the right channels.

We also have to consider the purpose of some types of communication, some of which is not to transfer information, but rather to motivate (e.g., rah-rah speeches at an all-hands). While written communication is a more efficient medium than verbal, it's less motivational.

Lastly, when designing internal comms, we need to take into account the fact that people have different learning styles and information processing abilities.

Communication etiquette

It is important to use etiquette when picking a channel to communicate, especially when asking for help. Consider how urgent your message really is.

Can it wait a day to get a response? Everyone has problems. What makes your problems more important than whatever someone is currently working on?

For example, one thing we see is a false sense of urgency given to sales deals or renewals that have suddenly become the company's "top priority." Time sensitivity is important, but the vast majority of things are not urgent. Just because you have a vested interest in a deal going through doesn't mean you can stomp over other people's priorities.

A good rule of thumb is to assume a same-day response unless the issue is actually urgent (e.g., the servers are down).

If you are on the receiving end of this "false urgency," it's totally fine to push back and ask exactly how urgent something really is and what will happen if it's delayed.

Distractions

Communication can be incredibly distracting. While some jobs require a lot of communication (e.g., sales), some require deep periods of uninterrupted thinking time (e.g., engineering). If your role looks more like the latter, then turn off all notifications and keep Slack closed when you need to concentrate. Set expectations with your manager and colleagues that you won't be available during certain hours, and to call you if something incredibly urgent comes up (e.g., the servers are down).

Consider using tools like focus mode on Mac (or whatever the MS equiv) that automatically manage Slack notifications during defined "focus time" and sync calendars to alert others when you're in meetings.

Storing information

Transferring information is different from storing information. We will be moving to a 30-day retention policy in Slack. This is intentional. We want to encourage you to copy any information that needs to be retained into Notion/Linear/Githhub.

Gone means gone.

Communication and tasks

Asking someone to do something over Slack is a good recipe to ensure that it doesn't get done. Slack makes a terrible task manager. You can hack it a little by using the "remind me about this message" feature, but ultimately tasks get lost in Slack.

Communication and tasks

Asking someone to do something over Slack is a good recipe to ensure that it doesn't get done—unless you link to where the work is actually tracked. Slack makes a terrible task manager on its own, but it works well as a notification layer.

At Straddle, we don't use email for internal communication. Instead:

  1. For simple requests: Send a Slack message with a link to a Linear ticket (make sure to paste the full URL so it unfurls with context)

  2. For agreements that need discussion: Send a Slack message with a link to a Notion page where you've documented the proposed agreement. The parties can review, comment, and decide whether to accept or what requirements need to be met.

Once you have an agreement with someone, make it impeccable by recording it in Notion (and creating a Linear task if it requires tracking as a deliverable).

Why not just skip Slack and create tasks directly in Linear? There are two reasons:

  1. Generally it is better to set goals rather than tasks. Creating a task for your report directly in Linear assumes you know the answer to your query; your report should be the judge of that.

  2. Impeccable agreements have to be mutually agreed upon because the owner is accountable. Creating a task directly removes that option.

Why not skip agreements and just use Slack messages? It's important that all agreements are tracked in one place (Notion), and if they're deliverables that need project management, they should also be in Linear with a due date and owner. Slack messages disappear after 30 days.

When sharing Linear tickets in Slack, always paste the full URL (e.g., https://linear.app/straddle/issue/...) so Slack can unfurl it with the ticket title, status, and description. This gives people context without clicking through.

Communication channel guidelines

Please adhere to the following table when picking your communication channel. It can be tempting to just direct-message (DM) someone on Slack in order to move past your issue quickly. That, however, results in the tragedy of the commons. While one DM is fairly harmless, if we all act this way, the company grinds to a halt.

Communication type

Communication medium

To an individual, asking them to do something

Slack message with link to Linear artifact or Notion agreement

To an individual about a complex private topic

Slack DM or create a Notion page for discussion

A question you need help with

Check Notion first, then ask in the relevant team's Slack channel (avoid PMing)

To an individual about a topic that could be relevant to others

Slack Public Channel Message

To an individual about a private topic

Slack Direct Message (DM)

A daily update about your work

In your team's dedicated standup/project channel

Any communication with an external party

Email (BCC a list if applicable)

Communication about an impeccable agreement

In Notion (link from Slack); create Linear task if it's a deliverable

Communication about a task/deliverable

In Linear on the task (link from Slack with full URL to unfurl)

Communication about code

In GitHub

An all-hands update about your department

In Slack's #rituals-allhands channel

A full company update

In Slack's #home-town channel, and reiterated at all-hands

Communication that everyone absolutely needs to see

In Notion, in the #home-town channel, and then reiterated at all-hands

External email communication

We ask that by default any external email communication is BCCed (or sent from) a relevant list (e.g., sales@, support@). This allows anyone in the company to search their inbox for communication and get context for, say, a sales call.

Conference calls

We use Meet for all video/audio conference calls.

We use Granola to record meeting notes. This makes meeting content searchable and accessible to those who couldn't attend.

We also use Meet’s "record call" functionality for important meetings. Throughout our Notion we have links to recorded calls. We use this as a learning resource and in case people need to catch up on meetings they missed.

Slack communication

We use Slack for a lot of internal communication. Slack is a powerful tool, but it's easy to misuse.

Best practices:

  • Avoid DMing (direct messaging) people if possible. Ask someone a question in a public channel so others can learn from the answer.

  • Check Notion/Linear first before asking a question.

  • Aggressively mute channels so that your unread messages count is accurate.

  • Default to using threads for topics

Remember: 30-day retention policy.
Any information that needs to be retained beyond that should be in Notion/Linear/Github

Key Slack channels

Channel

Description

#kudos

Say something good about someone (keep it specific)

#shipped

Sales/CS deal closed, or a big feature shipped

#home-town

Announcements only

#rituals-all-hands

Links and other resources posted during all hands

#home-random

Weird and random facts, off-topic discussions

[Add team channels]

[To be defined based on your team structure]

[Add functional channels]

[To be defined based on your functions]

Shipped

It's important that we celebrate shipping; it's part of our culture. Whenever anything gets shipped—and this could be a closed sales deal, a renewal, or a big feature—it gets posted in the #shipped Slack channel. Don't be shy with the reactions!

Meeting communication

We have a whole section on how to run a meeting (Running meetings), so refer to that regarding how to communicate in a meeting.