Development


Analytics
Data Science
The Data Science section is focused on leveraging ML and AI in the GitLab product and preventing abuse in the application.
Database Engineering
This page is dedicated to database application engineering and provides an entry-point for resources on this topic. Also see Database Team in Enablement. GitLab development Please refer to the development documentation for database guidelines. Database Roles at GitLab We have two primary job roles that are focused on the database aspect: Backend Engineer, Database - in Development Database Reliability Engineer - in Infrastructure The Backend Engineer, Database role is a software engineering role concentrated on application-side improvements and foundational database work in the GitLab codebase.
Dev Sub-department
Vision Enable engineers across the world by having top notch planning and issue tools for managing their work, awesome tools to organize their code and evolve their codebase through the best code review and online editing experience. Support organizations to have an easy entrance level to use GitLab by having great import capabilities, a great documentation experience and administration tools. We thrive for ownership of the things that we built by having a clear view on its performance and stability in production.
Development Department Learning and Development
Resources Secure coding best practices It is important that all developers are aware of secure coding best practices and refresh this knowledge periodically. This is tracked via Secure Coding Training Guidelines. Ruby on Rails Performance Training The materials from an earlier Ruby on Rails performance workshop can be found on internally shared Google drive. Video Sessions Day Topics Video Links Session - Day 1 Intro and overview Monday Wednesday Session - Day 2 Tools Monday Wednesday Session - Day 3 SQL and N+1 Troubleshooting Monday Wednesday Session - Day 4 Queueing Theory Monday Wednesday Database Here is the information of a PostgreSQL query optimization bot at GitLab - Joe: Blueprint and Design.
Development Department Performance Indicators
Executive Summary KPI Health Status Past Due InfraDev Issues Okay We are now below 5. We did have a small spike earlier this quarter which was addressed.We will continue to work to reduce this 0. Past Due Security Issues Attention Security issues continue to be an area of focus as requirements have become more stringent.Large increases due to new evaluation plus some automation that wasn't addressing issues properly (composition analysis).
Development Director Shadow Program
The development director shadow program provides mentoring, opportunities for learning, and facilitates career development exploration
Development OKRs
Development OKRs
Development Required Approvals
Overview There are specific scenarios we are identifying that will require additional approval before moving forward. At GitLab we value freedom and responsibility over rigidity, however in the examples requiring approval section below we outline which decisions will need to go through the approval process before proceeding. Approval Process Each section requiring approvals will have a considerations section. If you answered yes to all of the questions in the considerations section, then you will need to get approval for your proposal before proceeding with implementation.
Engineering Principles
Engineering Principles At GitLab, Company Culture is very important to us. The main ingredient of the company culture are GitLab Values. GitLab Values have guided us throughout the evolution of the company. Those values have been crucial in maintaining a positive and productive culture, helping us make decisions to make the company and the product better. Our Engineering Principles are built on top of GitLab Values, and provide additional explanation of these in the context of the software engineering practice.
Fulfillment Sub-department
The Fulfillment Sub-department is composed of the Billing and Subscription Management, Fulfillment Platform, Provision, Purchase, and Utilization development teams working on the infrastructure between the systems which affect the user purchasing process that support the GitLab DevOps Platform.
Incubation Engineering Department
Incubation Engineering Department The Incubation Engineering Department focuses on projects that are pre-Product/Market fit. The projects they work on align with the term “new markets” from one of our product investment types. They are ideas that may contribute to our revenue in 3-5 years time. Their focus should be to move fast, ship, get feedback, and iterate. But first they’ve got to get from 0 to 1 and get something shipped.
Keeping secure coding knowledge fresh in development
Secure Coding Training Guidelines It is essential that all developers are aware of secure coding best practices and refresh this knowledge periodically. Why It reduces the chances of security issues being introduced into GitLab. Some developers want to learn secure coding as a part of their ongoing learning. It may help to make customers and auditors more comfortable with the security of our product. Background Secure coding training was done in late July of 2019.
Manager Notes
This page is for any development manager notes we want to share more broadly. A directory was created in case we need to archive or break out content. FY21 Compensation Review The following is a brief for engineering managers to help in their conversations with team members about compensation. This document is to give additional context on the FY’21 compensation plan and how GitLab views compensation. It should be viewed as complementary to the handbook information.
Onboarding
Ops Sub-department
The Ops Sub-department is composed of development teams working on Verify, Package, Deploy, and Monitor features of GitLab DevOps Platform.
Processes
Sec Section
The Sec Section is composed of development teams working on Secure and Govern features of the GitLab DevOps Platform.