Distribution Engineer, Distribution: Build


5 months ago


An overview of this role

As a Distribution Engineer, your work within the Distribution Build team will help us manage the build pipelines, research support for new services, platforms, and architectures, as well as maintain existing ones. You will be tasked with ensuring the components that make up GitLab are up-to-date, license compliant, and available for our users’ platforms and architectures.

Distribution Build engineering regularly interfaces with broader development teams in supporting newly created features. The Distribution Build team is involved with diverse projects and tasks that include assisting community packaging efforts.

Some interesting links about the team and role:

What you’ll do

  • Manage access controls, permissions, and CVE patches
  • Maintaining the install, update, and upgrade pages
  • Work on Dependency updates, License management and submissions to partners for validations/certifications
  • Build and maintain the infrastructure used for creating the various installation methods

What you’ll bring

  • Familiarity with GNU/Linux build toolchains (make, gmake, etc.)
  • Production experience with building container images and container build tooling.
  • Experience with Debian and RHEL based systems, and building/packaging archives such as .deb and .rpm
  • Experience using Continuous Integration systems (e.g., GitLab CI, GitHub Action, Jenkins, Travis).
  • Experience with Ruby in production (Golang is a nice bonus)
  • Familiarity with building and packaging cloud native applications.
  • Proficiency in the English language, both written and verbal, sufficient for success in a remote and largely asynchronous work environment.
  • User of modern DevOps platforms. (GitLab is a bonus.)
  • Knowledge of service scaling and rollout strategies. (Desirable)

About the team

The Distribution team is composed of two subgroups: Distribution:Build and Distribution:Deploy.

The Build team is focused on producing artifacts including system packages, container images, and related components like marketplace listings along with tooling required to create and maintain them. The Deploy team is focused on installation and upgrade mechanisms to ensure smooth deployments. This includes system integration, scripting, templating, and related configuration management tooling.

In addition to product deliverables, both groups review a large number of MR's authored outside the team. These include dependency and security updates along with configuration controls and other bundled components like PostgreSQL, Consul, Patroni. Deployments include everything from single node deployments for evaluating GitLab all the way through the 50K user reference architecture and beyond. The primary goal is to ensure end users have a high-speed, low-friction experience when managing GitLab with limited downtime or service disruptions.

How GitLab will support you

Please note that we welcome interest from candidates with varying levels of experience; many successful candidates do not meet every single requirement. Additionally, studies have shown that people from underrepresented groups are less likely to apply to a job unless they meet every single qualification. If you're excited about this role, please apply and allow our recruiters to assess your application.