Senior Site Reliability Engineer, Environment Automation

at GitLab
Location Dar es Salaam, Tanzania, United Republic of
Date Posted November 28, 2022
Category Engineering
Management
Job Type Full-time
Currency TZS

Description

The GitLab DevOps platform empowers 100,000+ organizations to deliver software faster and more efficiently. We are one of the world’s largest all-remote companies with 2,000+ team members and values that guide a culture where people embrace the belief that everyone can contribute.

Site Reliability Engineers (SREs) are responsible for keeping all user-facing services and other GitLab production systems running smoothly. SREs are a blend of pragmatic operators and software craftspeople that apply sound engineering principles, operational discipline, and mature automation to our environments and the GitLab codebase. We specialize in systems, whether it be networking, the Linux kernel, or some more specific interest in scaling, algorithms, or distributed systems.

SRE's within the Environment Automation specialization, focus primarily on operating  a large number of GitLab environments, through automating all workflows - from provisioning new environments to daily operating tasks. This is the main difference between Environment Automation SRE and other SRE’s at GitLab, your day to day will be occupied by automation tasks of a large number of GitLab environments (and the environments used by GitLab), and operational tasks across many environments.

As an SRE you will:

  • Build: Automating every operational task is a core requirement for Environment Automation SRE. E.g. package updates, configuration changes across all customer platforms without interruptions, tools for automatic provisioning of customer facing services, etc.
  • Respond: Respond to user emergencies, platform alerts and support requests.
  • Maintain: Develop a good (early) warning system and system that allows for reliable and quick maintenance tasks, such as library upgrades, version migrations and similar.
  • Plan: Develop monitoring and alerting systems that predict capacity needs based on the customer usage patterns. Plan for new service rollouts, expansion of existing services and preparing advice for customers to optimise their resource consumption.
  • Collaborate: Work with other engineering stakeholders on resolving larger architectural bottlenecks and participate by offering a large scale operational point of view. Work in close collaboration with software development teams to shape the future roadmap and establish strong operational readiness across teams.
Required profile for job ad : Senior Site Reliability Engineer, Environment Automation

You may be a fit to this role if you:

  • Have experience in running and operating production workloads.
  • Have strong programming skills - preferably with Ruby and/or Go.
  • Strong background with Infrastructure as a Code technologies, and libraries powering GitLab, such as: Terraform, Ansible. Experience with data templating tools such as Jsonnet would be considered a bonus.
  • Are able to reason about large systems - how they work and can be operated on a large scale, edge cases, failure modes, behaviors.
  • Share our values, and work in accordance with those values.

Projects you could work on:

  • Working from the team’s issue tracker, driving changes required to operate a large number of GitLab environments.
  • Work on the GitLab core projects such as, GitLab Rails, GitLab Workhorse, Gitaly, etc.
  • Work on projects that create deployment packages of GitLab such as, GitLab Helm Chart, omnibus-gitlab, etc.
  • Build Dedicated Gitlab setups using infrastructure as code automation with Ansible and Terraform and integrate with Cloud Native services from cloud providers (e.g GCP, AWS)
  • Building Tools to orchestrate infrastructure as code workloads.
  • Deploy and operate microservices on top of Kubernetes.
  • Work on the GitLab observability stack (e.g. ELK, Prometheus).
  • Interact with various cloud provider systems (e.g. GCP, AWS).