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 |
Legal
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. |