Backend Engineer / Senior Backend 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
Programming Languages Mentioned
SQL, Ruby, R
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 1,600+ team members and values that guide a culture where people embrace the belief that everyone can contribute.
Backend Engineers in Infrastructure, will work alongside SREs, and are experienced Ruby developers who work in the product with a focus on reliability, observability, performance and scalability at the application level, as well as on resource optimisation from an Infrastructure perspective and on operationally relevant features.
As part of the Environment Automation team, Backend Engineers specialisation will focus primarily on building the user facing web application and the corresponding backend control plane to operate a large number of GitLab environments, through automating all workflows - from provisioning new environments to daily operating tasks. This is the main difference between other Backend Engineer roles in Infrastructure, as your day to day will be occupied by automation tasks of a large number of GitLab environments (and the environments used by GitLab), and programming tasks across many environments.
You may be a fit to this role if you:
- Have strong programming skills as a backend engineer with Ruby and/or Ruby on Rails.
- Strong experience with profiling and metrics analysis
- Strong experience with observability tools, including metrics (Prometheus is a plus), structured logging and distributed tracing
- A background in DevOps, working with Linux, GCP/AWS, Chef/Ansible, Terraform or similar products is desirable
- A background in Kubernetes and declarative APIs is desirable
- Good knowledge around SQL and/or PostgreSQL
- Have experience regularly interacting with customers, and a focus on resolving their requests with a sense of urgency.
- Are able to leverage GitLab as your day to day go-to tool.
- Are able to reason about large systems - how they work and can be operated on a large scale, edge cases, failure modes, behaviors.
- Have experience in collaborating and communicating asynchronously.
- Have an urge to document all the things so you don't need to learn the same thing twice.
- Have an enthusiastic, go-for-it attitude. When you see something broken, you can't help but fix it.
- Have a strong sense for action and know how to iterate through a problem quickly.
- Share our values, and work in accordance with those values.
Bonus points if you:
- You've built high scale systems with Kafka, Zookeeper, or similar messaging queues.
- You’ve built high scale APIs to orchestrate distributed systems
- You have worked on complex implementations featuring multi-threading, async IO, advanced scheduling and resource management
Projects you could work on:
- Build fault-tolerant, horizontally scalable solutions 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.
- 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.
For Colorado residents: The base salary range for this role’s listed level is currently $89,600 to $157,400 for Colorado residents only. Grade level and salary ranges are determined through interviews and a review of education, experience, knowledge, skills, abilities of the applicant, equity with other team members, and alignment with market data. See more information on our benefits and equity. Sales roles are also eligible for incentive pay targeted at up to 100% of the offered base salary. Disclosure as required by the Colorado Equal Pay for Equal Work Act, C.R.S. § 8-5-101 et seq.
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! 😄