Engineering Communication
Communication
GitLab Engineering values clear, concise, transparent, asynchronous, and frequent communication. Here are our most important modes of communication:
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.
The Engineering Divison has a Google Group, engineering@gitlab.com
(internal only), that 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. As GitLab, the company, primarily communicates via Slack, use this list mainly for Access Control to Google Drive/Docs/Sheets/Slides.
GitLab Groups/Projects/MRs
Monitoring dashboards
- 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.
Synchronous meetings
- Engineering All-Hands.
- CTO Office Hours: Each week the CTO holds open office hours on Zoom for questions, feedback, and handbook changes. Check the CTO’s calendar and look for EMEA and APAC-friendly time slots.
Asynchronous updates
Engineering Week-in-Review (EWIR) document
Every week a reminder is sent to the #engineering-fyi
Slack channel to populate and read the latest updates. The agenda is internal only, please search in Google Drive for Engineering Week-in-Review
(internal only)
Slack
#engineering-fyi
#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.
Sending status updates to #engineering-fyi
If you’d like to send status updates to #engineering-fyi
, please following the following process:
- For the top level program your reporting on, in the main epic create an issue named
${Program} Status Updates
and populate the description with This issue contains status updates for ${Program}.
- In that issue, leave a “threaded” comment with a header
${Program} Status Update - YYYY-MM-DD
to make it clear that the status can be commented on
- Populate the content of this comment with the update corresponding to that date
- When you post to
#engineering-fyi
sharing this issue, please include 2-3 sentences that include the major updates on what was completed and what’s blocked or at risk. Please @
tag relevant stakeholders as needed.
- If this update is the final update for the program, please close the issue after all relevant discussion has taken place.
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:
#backend
: For backend-related issues (e.g. error 500s, high database load, etc.)
#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.
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.
Background
At the FY25 GitLab Summit the Engineering Division held a poster session. This session was well received and several folks recorded videos going over the posters after the Summit, which can be viewed on the GitLab Unfiltered Summit Poster Session Playlist. The team would like to continue doing this in a virtual manner, so that team members and their work are showcased on a regular basis.
Process
The goal is to be a low lift for participating team members. The process to follow is: