Intermediate Backend Engineer, Verify: CI Platform
GitLab is an open core software company that develops the most comprehensive AI-powered DevSecOps Platform, used by more than 100,000 organizations. Our mission is to enable everyone to contribute to and co-create the software that powers our world. When everyone can contribute, consumers become contributors, significantly accelerating the rate of human progress. This mission is integral to our culture, influencing how we hire, build products, and lead our industry. We make this possible at GitLab by running our operations on our product and staying aligned with our values. Learn more about Life at GitLab.
An overview of this role
As a Backend Engineer joining our team, you will work on the foundational layer of GitLab Continuous Integration (CI). Our team is largely involved in scaling CI, along with ensuring our CI features remain performant and reliable by driving improvement to critical database infrastructure. As many of our efforts are Engineering led, you will also have an opportunity to provide input towards our CI data management strategy.
About the team
The CI Platform group was created in 2024, as part of the Verify stage, upon evaluating that we needed a dedicated team to work on the operational aspects of GitLab CI to ensure our platform remains best-in-class. The team has been largely focused on partitioning CI/CD Data and has started to explore aspects of CI Data retention and improved data management. You will get to dive into some complex technical challenges and collaborate with our infrastructure teams to strategize on solving these exciting challenges related to how we scale and grow CI. More details can be found in our technical roadmap for Verify.
We live our transparency value by designing our systems and planning our work with publicly facing artifacts. Some examples of our work include:
- CI/CD data time decay: design document, planned work
- Partition CI/CD pipelines data
- Design CI data retention policies for gitlab.com
- Improvements to Sidekiq Worker performance
What you’ll do
- Implement performance and scale improvements for GitLab CI in a fast-paced, iterative environment.
- Collaborate with other stakeholders within Engineering (e.g. other Database or Infrastructure teams) to set best practices in managing a sustainable platform and to maintain a high bar for quality.
- Advocate for improvements to reliability, security, and performance.
- Craft code that meets our internal standards for style, maintainability, and best practices for a high-scale web environment. Maintain and advocate for these standards through code review.
- Recognize impediments to our efficiency as a team (“technical debt”), propose and implement solutions.
- Ship small features and improvements with minimal guidance and support from other team members. Collaborate with the team on larger projects.
- Work with your team to assess technical feasibility and discuss how best to iterate on complex problems. This might involve working on proof-of-concept proposals to help guide technical discussions.
- Take ownership of what we build, focusing on stability and availability.
What you’ll bring
- Professional experience with Ruby on Rails and PostgreSQL.
- Experience working with a platform or complex application (Large scale is a bonus).
- Familiarity building and deploying software with CI/CD or other internal tooling.
- Familiarity with distributed, scalable and reliable systems.
- A user of modern DevOps platforms. (GitLab is a bonus.)
- Proficiency in the English language, both written and verbal, sufficient for success in a remote and largely asynchronous work environment.
- Experience working in a highly agile, iterative software development process.
- Self-motivated and self-managing, with excellent organizational skills.
- Demonstrated ability to work closely with other parts of the organization.
- Share our values, and work in accordance with those values.
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.
Privacy Policy: Please review our Recruitment Privacy Policy. Your privacy is important to us.
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.
Apply for this job
*
indicates a required field