Backend Engineer, Distribution: Deploy (Golang)
The GitLab DevSecOps 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 foster a culture where people embrace the belief that everyone can contribute. Learn more about Life at GitLab.
An overview of this role
As a Distribution Engineer, your work within the Distribution: Deploy team surrounds configuration, deployment, and operation of GitLab as a whole product. The goal is to deliver an intuitive, clear, and frictionless installation experience, followed by smooth, seamless upgrade and maintenance processes for deployments of any scale. We strive to deliver ongoing operational behaviors for scaling, little to zero downtime upgrades, and highly reliable experiences for not only instance administrators but their users. Omnibus packages, Helm Charts and Operators are primary deployment methods Distribution currently supports.
As a Distribution Engineer on the Distribution: Deploy team you regularly interface with broader development teams in supporting newly created features.
Some interesting links about the team and role
What you’ll do
- Build and maintain tools for initial installation and composability for self-managed installations and GitLab.com
- Productize Upgrades / Downgrades from a single node installation to large scale enterprise installation
- Secure configuration & communication
- Research and document cloud and platform migration and integration
- Investigate and analyze installation and upgrade incidents, identify root cause, and develop appropriate mitigation strategies and fixes
What you’ll bring
- Production experience designing, building, and packaging cloud-native applications.
- Experience with the Kubernetes ecosystem (Operators, Helm, registries, etc.).
- Experience with shipping production ready code in Golang
- Production experience with IaC and orchestration tooling at scale (Ansible, Terraform, Chef, etc.).
- Knowledge of service scaling and rollout strategies.
- 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.)
- Production experience with building container images and container build tooling. (Desired)
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
- Benefits to support your health, finances, and well-being
- All remote, asynchronous work environment
- Flexible Paid Time Off
- Team Member Resource Groups
- Equity Compensation & Employee Stock Purchase Plan
- Growth and development budget
- Parental leave
- Home office support
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.
Country Hiring Guidelines: GitLab hires new team members in countries around the world. All of our roles are remote, however some roles may carry specific location-based eligibility requirements. Our Talent Acquisition team can help answer any questions about location after starting the recruiting process.
GitLab is proud to be an equal opportunity workplace and is an affirmative action employer. GitLab’s policies and practices relating to recruitment, employment, career development and advancement, promotion, and retirement are based solely on merit, regardless of race, color, religion, ancestry, sex (including pregnancy, lactation, sexual orientation, gender identity, or gender expression), national origin, age, citizenship, marital status, mental or physical disability, genetic information (including family medical history), discharge status from the military, protected veteran status (which includes disabled veterans, recently separated veterans, active duty wartime or campaign badge veterans, and Armed Forces service medal veterans), or any other basis protected by law. GitLab will not tolerate discrimination or harassment based on any of these characteristics. See also GitLab’s EEO Policy and EEO is the Law. If you have a disability or special need that requires accommodation, please let us know during the recruiting process.