Senior Backend Engineer, Delivery: Releases
The Delivery Group is responsible for guaranteeing and improving the software delivery for GitLab.com, as well as for self-managed users by improving the release management tooling and processes. Delivery engineers work closely with teams across Development, Test, Security, and Production Engineering to ensure features are delivered in a safe, scalable and efficient fashion.
Responsibilities
Backend Engineers with Delivery:Releases specialization work alongside Site Reliability Engineers with a focus primarily on improving release management tooling and processes. While the SRE's approach their responsibilities from an operational perspective, Backend Engineers approach the same problems from a software developer point of view and collaborate closely on finding an optimal solution that will safely and quickly deliver code to various supported environments.
Guarantee the GitLab Release Process
Create new tools and frameworks to automate the release process
Build new GitLab release features to replace existing custom tooling
Work with individual teams on defining and implementing solutions that will help them release quicker
Create frameworks that allow engineers to write code that scales with demand
Help teams instrument their code and helps recognize parts of code that could benefit from increased observability
Work closely with peer Infrastructure teams to control the impact of application code running in user facing products
Help communicate the release schedule clearly with others
Develop monitoring and alerting to measure release process velocity
Identify process bottlenecks and introduce optimizations
Participate in Release Manager rotation
Requirements
As an ideal candidate, you will have
Proficiency with Ruby, experience with Ruby on Rails as a plus
Boundless curiosity and a demonstrable ability to learn
Experience working on large scale systems
Experience optimizing Continuous Delivery and Continuous Deployment pipelines as well as the tooling and processes that go with them
A strong application and systems observability background
A product development mindset when developing new components
You share our values, and work in accordance with those values.
Performance indicators
The Delivery team has the following performance indicators: