Gitlab hero border pattern left svg Gitlab hero border pattern right svg

Engineering Management

How Engineering Management Works at GitLab

At GitLab, we promote two paths for leadership in Engineering. While there is a healthy degree of overlap between these two ideas, it is helpful and efficient for us to specialize training and responsibility for each of:

While technical leadership tends to come naturally to software engineers, professional leadership can be more difficult to master. This page will serve as a training resource and operational guide for current and future managers.

On this page

General leadership principles

All Engineering Managers should follow the general leadership principles set out in the handbook. In particular, it is not uncommon for Engineering Managers to struggle with one or more of the following areas, so we recommend you review them carefully and discuss your confidence with your manager:

Hiring

Technical Credibility

We expect all managers at GitLab to be technically credible with their teams. Fluency in our core technologies and architectures is essential because it enables managers to participate effectively on technical conversations. In order to maintain this fluency, we encourage managers to participate in coding-related work to an extent. However, please keep the following advice in mind:

Career Coaching for Developers

Outside of hiring, the best way to improve the strengths of your team is to practice career development coaching with your developers. While they will not all become Staff Developers or Engineering Managers at GitLab, identifying their career goals and proactively working towards them is the most effective way to help everyone improve. In addition to the company-wide notes on career mapping and development, here are some important considerations for the Engineering team:

Project Management

Product is responsible for guiding the direction of our product, and technical leaders are responsible for guiding the technical architecture to meet those requirements. While Engineering Managers can and should participate in both of those conversations, their primary responsibility lies in project management: making sure their team is best positioned to meet both goals as effectively and efficiently as possible.

Team retrospectives

In addition to the public function-wide retrospective, each Engineering team should be in the practice of holding their own retrospectives. The results of these retrospectives should then inform the function-wide retrospective for any given release. More information on running effective retrospectives is available here.

Engineering Metrics

There are many ways to develop engineering metrics, ideally you need a representation of different aspects of the operational data such as throughput, quality and cycle time to name a few. The goal of gathering this data is to foster a healthy dialogue amongst the engineering team and with stakeholders. These metrics are helpful for conversations around planning, addressing technical debt, capacity to work on bugs, identifying bottlenecks and improving engineering efficiency. It is important to note that if metrics are used punitively, these goals are hampered and the team psychological safety could be at risk.

Engineering metrics are project or team based and are not intended to track an individual's capacity or performance.

To access our current dashboard, please visit the GitLab Insight Quality Page. We are currently working to implement these graphs into the GitLab product.

To read more about each metric, please visit their dedicated pages.

List of Metrics

Engineering wide projects

We are currently working on including all of engineering's projects. The following projects included can be seen in this list.

Security fixes on dev instance

We also capture data from our https://dev.gitlab.org/ instance which currently includes the projects below.

The data from dev instance is only reflected in a few group level charts, see list of known issues below.

Known issues

Adding more metrics

If you or your team needs to include a new project in the metrics or add a new team, please create an issue in the GitLab Insights issue tracker.

We have a list of projects that is still not included in this issue.