No one should have to wait for someone else to come online to do their
job.
1. We default to asynchronous communication via documentation
Because distributed teams have a hard time getting together live
Documentation definitely requires extra time and we believe that
investment is worth it
Plus, AI can help cut down on the busywork
Effortless onboarding and faster, clearer hiring through real projects.
2. We use Notion as
our source of truth, where all documentation
lives
Because Notion offers flexible and powerful documentation capabilities
External systems such as Linear are okay if synced with Notion
Notion is bad at very few things. Two examples are spreadsheets and
slides. Those should be built in Google Sheets / Slides and linked in
Notion
3. We default to public communication
Because we want everyone to have as much context as possible
Avoid DMs as much as possible, use Notion instead (or as a last resort
Slack channels)
Exceptions include confidential or personal data. For those, shared
Notion pages or Google Docs with restrictive permissions are fine. But
those should definitely be the exceptions
Our Slack is very quiet. We like it that way.
4. We treat all messenger
communications as fleeting
Because, while messengers excel at quick exchanges, they fail
miserably at discoverability, collaboration, and knowledge
organization and retention
We start a Notion page to brainstorm, collaborate, etc., and keep
Slack for quick pings and checkins
5. We use video to
add context and connection
Because text alone can't always capture tone, intent, or enthusiasm
At a bare minimum, every full-time team member is expected to provide
a video weekly update to the entire company
Keep them short: 5 min is a good target length
Use a simple structure such as: remind everyone what you are
working on, explain what you accomplished, and describe what you
are going to do next
Whenever possible include a visual demo
Put in your update in the Notion weekly page
Record the video
Post in Slack
6. We use meetings judiciously
Because meetings are expensive in a distributed company - they pull
people out of flow and are hard to coordinate across time zones
Here is some guidance on how to run effective meetings:
Have an agenda beforehand
Run an async pass to address as many topics as possible beforehand
Focus on the topics that benefit the most from live discussions -
e.g. brainstorms, clarifications, discussions, etc.
Start and end on time
7. We ask that team members give the benefit of the doubt
Because tone, timing, and context can easily get lost in async
communication
8. We suggest setting your own boundaries
Because remote work blurs the line between work and life - and healthy
boundaries keep both sustainable
One of the easier ways to accomplish that is to explicitly set working
hours and/or block off your Google Calendar