GitLab's 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,400+ team members and values that guide a culture where people embrace the belief that everyone can contribute .
This Backend Engineer or Senior Backend Engineer position for our Verify:Runner group is 100% remote.
It’s an exciting time to join our team. We're the world’s largest all-remote company, and we've been intentionally building our culture this way from the start. With more than 1,200 team members in 65+ countries, GitLab is a place where you can contribute from almost anywhere. We are an ambitious, productive team that embraces a set of shared values in everything we do.
As a Backend Engineer or Senior Backend Engineer in our Verify:Runner group , you'll play a key role in team whose mission is to build agent that works seamlessly on tomorrow's market-leading computing platforms and the tools to eliminate CI build fleet operational complexity at an enterprise scale. The features in our Verify:Runner group allow our customers to run their GitLab CI operations on a variety of platforms and ecosystems.
Our Verify:Runner group is primarily responsible for the GitLab-Runner. The GitLab-Runner is the interface between the rest of GitLab and a users CI infrastructure. Whether CI is running on a cluster of Raspberry Pi’s, a super-computer, or, as in the case with GitLab.com, thousands of virtual machines running in the cloud - it’s the GitLab-Runner that makes this happen. Each week GitLab-Runners process millions of jobs for GitLab.com, and our docker images are downloaded 100s-of-millions of times.
The GitLab-Runner is written in Golang and our infrastructure uses Terraform and Ansible. We are looking for someone with professional experience in Go to focus their time on the GitLab-Runner.
Check out the 14.3 Release Video or this Verify:Runner direction page to get a feel for what the team is working on.
The culture here at GitLab is something we’re incredibly proud of. Some of the benefits you’ll be entitled to vary by the region or country you’re in. However, all GitLab team members are fully remote and receive a "no ask, must tell" paid-time-off policy, where we don’t count the number of days you take off annually -- instead, we focus on your results. You can work the hours you choose, enabled by our asynchronous approach to communication . You can also expect stock options and a competitive salary. Our compensation calculator will be shared with selected candidates before any interview.
Diversity, Inclusion, and Belonging (DIB) are fundamental to the success of GitLab. We want to infuse DIB in every way possible and in all that we do. We strive to create a transparent environment where all team members around the world feel that their voices are heard and welcomed. We also aim to be a place where people can show up as their full selves each day and contribute their best. With more than 100,000 organizations using GitLab, our goal is to have a team that is representative of our users.
What You'll Do In This Role
- Contribute to the overall direction of GitLab-Runner development.
- Focus your efforts on GitLab-Runner scalability
- Help scale the infrastructure of the GitLab-Runners powering GitLab.com.
- Solve technical problems of high scope and complexity.
- Help to define and improve our internal standards for style, maintainability, and best practices for a high-scale web environment. Maintain and advocate for these standards through code review.
- Represent GitLab and its values in public communication around broader initiatives, specific projects, and community contributions.
- Provide mentorship for Junior and Intermediate Engineers on your team to help them grow in their technical responsibilities and remove blockers to their autonomy.
- Confidently ship moderately sized features and improvements with minimal guidance and support from other team members.
- Collaborate with the team on larger projects.
- Improve the engineering projects at GitLab via maintainer trainee program at your own comfortable pace, while striving to become a project maintainer.
- Advocate for improvements to product quality, security, and performance.
You should apply if you bring:
- Significant professional experience with Golang.
- A focus on code quality.
- Experience in a scaling SaaS products.
- Proficiency in the English language, both written and verbal, sufficient for success in a remote and largely asynchronous work environment.
- Demonstrated capacity to clearly and concisely communicate about complex technical, architectural, and/or organizational problems and propose thorough iterative solutions.
- Experience with performance and optimization problems and a demonstrated ability to both diagnose and prevent these problems.
- Comfort working in a highly agile, intensely iterative software development process.
- Demonstrated ability to onboard and integrate with an organization long-term.
- Positive and solution-oriented mindset.
- Effective communication skills: Regularly achieve consensus with peers, and clear status updates.
- An inclination towards communication, inclusion, and visibility.
- Experience owning a project from concept to production, including proposal, discussion, and execution.
- Self-motivated and self-managing, with strong organizational skills.
- Demonstrated ability to work closely with other parts of the organization
- Share our values, and work in accordance with those values
You'll stand out if you bring
- Demonstrated experience with any major cloud providers or infrastructure-as-code tools.
- Demonstrated experience with API development in Ruby/Rails.
- Demonstrated experience working with docker and kubernetes.
Also, we know it’s tough, but please try to avoid the confidence gap . You don’t have to match all the listed requirements exactly to be considered for this role.
Our hiring process for this Backend Engineer position typically follows four stages. The details of this process and our leveling structure can be found on our job family page .
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.