Engineering Communication

Communication

GitLab Engineering values clear, concise, transparent, asynchronous, and frequent communication. Here are our most important modes of communication:

  • GitLab Issue Tracker: Please use confidential issues for topics that should only be visible to team members at GitLab.
  • Start with a Merge Request: The most effective way to make a change to the company is to make a proposal in the form of a merge request to the handbook and assign it to the DRI.
  • Monitoring Dashboards: When we look to achieve a desired outcome, we must be able to quantify and measure progress towards that goal. By making the initial analysis that drives decision making repeatable, we continuously sanity check our initial assumptions along that journey.
  • Engineering All-Hands.
  • Engineering Week-in-Review document: Every week a reminder is sent to the #engineering-fyi Slack channel to read the latest update. The agenda is internal only, please search in Google Drive for ‘Engineering Week-in-Review’.
  • CTO Office Hours: Each week Jörg Heilig holds open office hours on Zoom for questions, feedback, and handbook changes. It’s typically Thursdays for 1 hour and alternates between EMEA and APAC-friendly timeslots. See Jörg’s calendar for current times.
  • Slack: See next section on Keeping yourself informed.

Keeping yourself informed

As part of a fully-distributed organization such as GitLab, it is important to stay informed about engineering-led initiatives. We employ multimodal communication, which describes the minimum set of communication channels we’ll broadcast to.

For the Engineering division, any important initiative will be announced in:

  • The Engineering mailing list
    • All members of the division should become members as part of the onboarding process. If this is not the case for you, reach out to your manager.
  • Slack channel
  • Engineering Week-in-Review (internal)

Other Slack channels that are Engineering focused and are good sources of information:

  • #cto
  • #development
  • #incubation-eng
  • #production
  • #quality
  • #incident-management
  • #support_gitlab-com
  • #support_self-managed

There is no requirement to join all of these channels. It is up to the person sharing to ensure that the same message is shared across all channels. Ideally, this message should be a one sentence summary with a link to an issue to allow for a single source of truth for any feedback.

Engineering-fyi channel

The #engineering-fyi is used for large scale announcements and to drive views of the engineering week in review document. Everyone can contribute an announcement as long as the following criteria are met:

  • The announcement provides a link back to the appropriate item
  • The announcement involves a majority of one or more departments
  • The announcement is NOT to be company wide and does not need amplication for the department. In this situation use #company-fyi

The posting model here is one of trusting judgement of the individual making the announcement. You do not need to ask for permission to post.

DevOps Slack Channels

There are primarily two Slack channels which developers may be called upon to assist the production team when something appears to be amiss with GitLab.com:

  1. #backend: For backend-related issues (e.g. error 500s, high database load, etc.)
  2. #frontend: For frontend-related issues (e.g. JavaScript errors, buttons not working, etc.)

Treat questions or requests from production team for immediate urgency with high priority.

Last modified December 3, 2023: Move communication in to place (166f47d6)