How we use Slack at Sourcegraph

Overview

We use Slack for team chat and real-time announcements. While Slack isn’t a source of truth, it is an important internal communication tool that helps us stay connected and informed. All teammates are encouraged to join the following company-wide channels to stay informed on news happening across the company. Read on for best practices and processes we follow as a company.

Slack Guidelines

Data retention

Slack is not a source of truth which means important updates that may be shared in Slack should be reflected in a source of truth. To enforce this, we have the following default data retention set:

  • DMs: 18 months retention
  • Private channels: 18 months retention
  • Public channels: 18 months retention
  • Support & Trial channels: 5 years retention

Retention exceptions

Channel retention exception can be requested in #ask-it-tech-ops and will be reviewed/approved on a case-by-case basis by VP of Talent & People and VP of Operations.

Your channel exception request must satisfy at least one of the below requirements in order to be considered for a retention exception:

  • Strategic Importance: When a Slack channel serves a strategic purpose, such as for key customer or strategic accounts.
  • Business Necessity: When extended retention is required to meet critical business needs.
  • Low Data Sensitivity: If the data in a channel is not highly sensitive and doesn’t require strict retention periods but is static data (long lived) and valuable to operational efficiency and success.
  • Completed Channels: For channels that have completed their primary function but hold valuable historical information.
  • Legal or Compliance Requirements: When there are specific legal or compliance requirements that necessitate an exception.

Important: You must notify Tech Ops (in #Tech-Ops) when you create a new channel requiring an exception to the default 18 months rule (even if it falls into an existing exception). We have no way to know when new channels requiring an exception are created.

Naming conventions

To help with navigation and discoverability, follow these naming conventions for channels. If you see find a channel that does not follow these, request to rename it in #ask-it-tech-ops.

Prefix Purpose Examples
#team- For teams to coordinate work and activities among themselves. Strict channel membership for only people on that team. #team-design, #team-support, #team-sales
#discuss- To discuss topics related to that department or team. #discuss-sales, #discuss-marketing
#announce- For important announcements your team needs to know. #announce-company, #announce-sales, #announce-eng
#wg- Stands for “working group” For cross-functional teams working together. #wg-swag, #wg-impact-reviews
#location- For teammates in the same location to connect. #location-bayarea, #location-london, #location-nyc
#customer- For sourcegraph teammates to discuss important issues related to that customer. #customer-ibm, #customer-databricks, #customer-salesforce
#prospect- For conversations about prospective customers. #prospect-bofa, #prospect-cruise
#ext- To connect with EXTERNAL customers, consultants, etc. #ext-splunk-sourcegraph, #ext-indeed-management, #ext-video-prod
#trial- EXTERNAL communication with companies considering Sourcegraph #trial-pandora, #trial-tmobile, #trial-nvidia
#event- To plan and execute events, large and small. #event-aws, #event-slush, #event-rubyconf
#chat- Chatter about a specific topic (typically not related to Sourcegraph work) #chat-book, #chat-chess, #chat-cars, #chat-clothes
#job-fair For in-flight projects that are part of the Product Planning program. #job-fair-own, #job-fair-ranking

Mandatory channels for all teammates

All teammates are automatically added to these channels when they join Sourcegraph, and they should check them regularly.

#announce-company Critical information that all Sourcegraph teammates need to stay on top of.

Messages here are applicable to 75% of the company and posting permissions are limited.

#ask-exec-team Ask Sourcegraph leadership any question and get an answer.
#announce-people-talent-team Important announcements from the People & Talent team.
#announce-it-tech-ops
#progress Celebrations for milestone moments and progress that impact our company strategy.
#announce-teammate-hires Welcome newly hired teammates and celebrate promotions and new roles.
#announce-teammate-departures Stay informed about teammates who are leaving Sourcegraph.
#thanks Say thank you to teammates for big moments and small ones.

Mandatory for people managers

#team-people-managers Private channel - Discussion among people managers and

Slack best practices

Keep you profile up to date and easy to find

Help your teammates learn more about you by completing your profile. As you fill out your profile, don’t forget to upload a profile photo. Your photo makes it easier for your teammates to know who you are in Slack. All teammates should add the following to their profile:

  • Full name: First and Last Name
  • Display name: First and Last Name
  • Title: Your role at Sourcegraph
  • Time zone: Keep this up to date so teammates know when to reach you

Consider also adding:

  • Pronouns
  • Name recording
  • Name pronunciation

Set a channel description and conversation topic

When you create a Slack channel (regardless of if it’s public or private) you should add a description to your conversations to let people know what kind of information they can expect to find there.

Any member of a channel can add or edit a description or topic to let people know what the channel is used for and what is currently being discussed. Descriptions are visible when viewing channel details, or when searching for channels on your desktop. Topics are visible in the conversation header.

Use emoji reactions to reduce the noise in Slack

An emoji reaction can often replace the need for a follow-up message. You can hover over or tap and hold reactions in a conversation to see who added them. We use the following emojis at Sourcegraph to quickly acknowledge and respond to requests in Slack.

  • Ack = I acknowledge I’ve seen this. Action not needed.
  • 👀 = I’ve seen it, I’m reviewing it
  • ✅ = I’ve seen it, my action is complete
  • 👍 = I agree

Custom emoji

All teammates are able to upload their own custom emoji to our Slack Workspace. When adding a new animated emoji, keep in mind that rapidly changing or flashing emoji, such as the iconic party parrot, may not be friendly for teammates who are impacted by photosensitivity or susceptible to seizures.

If you spot a custom emoji that may be a bit too animated, report it to #ask-it-tech-ops so it can be removed.

Use threads to organize discussions and reduce noise

Threads help you create organized discussions around specific messages. They let you discuss a topic in more detail without adding clutter to a channel or direct message (DM) conversation.

When a thread reaches a point where a decision is made and that information would be useful to the entire channel, be sure to communicate that decision back to the channel by using the “also send to #channel” button.

If you need to start a new topic of conversation, post directly in the channel to start a new thread.

Default to Public channels

Sourcegraph is an all remote and asynchronous-first company, and we work out in the open via public channels to help teammates stay informed. Default to using public channels and if you know who will likely have the answer, mention that person directly. This ensures it is easy for other people to chime in if they have the answer, and helps other people observe and learn. If you receive a DM that should be shared in a public channel, ask that person to re-send the message with a broader audience. The forward message feature allows you to share private DMs in a public channel.

Private channels will automatically be created for the following categories of conversations:

  • Recruiting: Channels used for discussing specific positions where private candidate feedback and details will be discussed.
  • Management: Channels where managers can communicate about specific private or sensitive team situations.
  • Legal: Channels with legally sensitive information, such as acquisition discussions or communication with outside parties where we have a legal requirement to keep information sharing limited.
  • Affinity groups: Channels for affinity groups that prefer a private space.

If you would like a channel to be made private, and it does not fit in the categories above, please acquire pre-approval from your manager before contacting #ask-it-tech-ops to make a channel private.

Organize Slack to make it work for you

To help you keep track of important conversations, you can star a channel or direct message (DM). Starred conversations appear in the Starred section of your sidebar. You can also organize your channels, direct messages (DMs), and apps into custom sections within your sidebar. Your custom sections are only visible to you and won’t affect what your teammates see, so set them up however you’d like. Watch this video for a few examples.

Send (and read) messages any time

Because Sourcegraph is a global, all-remote company with flexible work hours, teammates should feel free to send messages to others at any time, rather than trying to guess what a convenient time would be for the other party (or parties) involved.

In turn, you are free to read your message whenever it is convenient for you. There is no expectation that people will be responsive over the weekend/vacation/evening/etc..

Make sure to set up Slack to only send you notifications when you want to see them!

Archive old and unused channels

To keep the Sourcegraph workspace on Slack organized, easy to navigate, and up to date, archive channels when they are no longer needed. First, send a final message in the channel notifying its members that you are going to archive the channel, allow 24 hours for any objections, then archive the channel.

Channel lists by department

Sales

New Channel Name Members/Audience
#discuss-sales All Sales
#announce-sales All Sales, Marketing
#discuss-sales-ops All Sales
#discuss-sales-enablement All Sales
#sales-prospecting All Sales
#team-superare SDR
#team-ae-west AE West
#team-ae-east AE East
#team-ae-emea AE EMEA
#team-sales-leadership Sales Leadership
#gtm-ops-review Sales Leadership
#discuss-commissions Accounting and Sales Team
#eoq-closing Deal Desk, Sales, Legal Teams
#discuss-deal-desk Deal Desk, Legal, Sales

Technical Success

New Channel Name Members/Audience
#team-technical-success All TS
#announce-technical-success All TS
#discuss-technical-success All TS
#team-ce CE
#discuss-ce CE and cross functional partners
#team-ce-west CE West
#team-implementation Implementation
#discuss-implementation Implementation
#team-ta TA
#discuss-ta TA
#team-customer-support Support
#discuss-customer-support Support
#team-ts-leads TS Leadership
#wg-sales-ts-leadership Sales & TS Leadership
#discuss-commissions Accounting and Sales Team
#discuss-deal-desk Deal Desk, Legal, Sales
#announce-customer-updates CEs, AEs

Engineering, Product, Design

New Channel Name Members/Audience
#announce-engineering All engineering, cross functional partners
#discuss-engineering All eng, cross functional partners
#team-engineering All engineering
#discuss-dev-ops Anyone having question about deployments
#discuss-release-guild People who have questions and updates about releases
#announce-incidents Anyone who needs to be aware of incidents
#team-dev-backend All engineers working on Backend code
#team-dev-frontend All engineers working on frontend code
#chat-dev-learn Anybody wanting to chart about dev related topics and learn new things
#discuss-product All Product teammates, cross functional partners
#team-product All Product teammates
#announce-product-research All Product teammates, Design team
#feedback-dogfood All Product teammates
#team-design Design team
#discuss-design Design team

People & Talent

New Channel Name Members/Audience
#announce-people-team Whole company
#team-people-and-talent All People & Talent teammates
#ask-people-team People & Talent, teammates w/ HR questions
#wg-talent-scheduling-and-offers Talent teammates
#ask-hiring People & Talent, anybody with hiring questions

Marketing

New Channel Name Members/Audience
#team-marketing All Marketing teammates
#announce-marketing All Marketing teammates + cross functional partners
#discuss-marketing All Marketing teammates + cross functional partners
#team-comms Comms team
#discuss-internal-comms Internal comms + people looking for support on internal comms
#team-social Social media team
#wg-events Events team + cross functional partners
#team-pmm Product Marketing team

Operations

New Channel Name Members/Audience
#team-operations All Operations
#team-operations-leadership Ops Managers
#benefits-payroll-private Payroll and People Team
#bamboo-org-updates Payroll and People Team
#team-finance Finance and Accounting team
#team-accounting Accounting and Sales Team
#team-deal-desk Deal Desk and Legal Teams
#discuss-deal-desk Deal Desk, Legal, Sales
#team-deal-desk Deal Desk and Legal Teams
#team-data-analytics Data & Analytics
#discuss-analytics Data + cross functional partners
#announce-analytics Data + cross functional partners
#alerts-dataops Data & Analytics
#team-data-eng Data & Analytics
New Channel Name Members/Audience
#team-legal All legal teammates
#discuss-legal Legal + people with legal questions

Cody channels

Channel Name Purpose
#announce-cody Very high signal announcements about Cody releases, product roadmap, improvements, and usage that everyone in the company should be aware of.
#discuss-cody General questions and discussions about Cody; prefer to use more focused channels when possible (eg, #wg-cody-agent for questions or discussion around Cody Agent).
#feedback-cody General dogfooding and external feedback from Cody users. Feedback that’s specific to a particular client should go in the relevant #wg- channel.
#discuss-cody-context Discussion of Cody context
#discuss-cody-strat Questions, bug reports, and feedback specific to the Cody strategic work
#team-cody-strat Internal channel for members of the Cody strategic team
#wg-cody-gateway Discussion space for Cody Gateway development
#wg-cody-agent Discussion space for Cody Agent development
#discuss-cody-clients Discussion space for Cody product teams to coordinate and collaborate on cross-team work
#wg-cody-vs-code Discussion, questions, bug reports, and feedback specific to the VSC extension. VS Code team collaboration
#wg-cody-neovim Discussion, questions, bug reports, and feedback specific to the Neovim plugin. Neovim team collaboration and weekly progress updates.
#wg-cody-jetbrains Discussion, questions, bug reports, and feedback specific to the JetBrains plugins (eg, IntelliJ). JetBrains team collaboration and weekly progress updates.
#wg-cody-web Discussion, questions, bug reports, and feedback specific to Cody in the web (dotcom or enterprise). Cody Web team collaboration and weekly progress updates.
#wg-cody-emacs Discussion, questions, bug reports, and feedback specific to Emacs plugin
#discuss-cody-app Questions, bug reports, and feedback specific to Cody App (not part of GA, but we need a place to continue trying to support existing users).
#cody-mentions Alerts delivered when Cody is mentioned in our community.
#cody-mentions-east Alerts delivered when Cody is mentioned by a customer/user in the east sales region.
#cody-mentions-west Alerts delivered when Cody is mentioned by a customer/user in the west sales region.
#cody-mentions-emea Alerts delivered when Cody is mentioned by a customer/user in the emea sales region.
#cody-usage-notifications Informational notifications for customers/users whose Cody Usage has exceeded thresholds of 90%, 95%, and 100% of their rate limit quota in the current window.