Site Reliability Engineer / Senior Site Reliability Engineer, Environment Automation
GitLab (View all Jobs)
1. A series of video calls 2. Coding exercise involving working on a Merge Request that is like a real work task
$100,800 - $183,600
Programming Languages Mentioned
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.
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).
To view the full job description and its compensation calculator, view our handbook. The compensation calculator can be found towards the bottom of the page.
Additional details about our process can be found on our hiring page.
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.
Please mention No Whiteboard if you apply!
I'm a one-man team looking to improve tech interviews, and could use any support! 😄