Backend Engineer, Gitaly: Git
The GitLab DevSecOps 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 foster a culture where people embrace the belief that everyone can contribute. Learn more about Life at GitLab.
An overview of this role
GitLab’s Git storage layer lies at the foundation of its version control solution, and making Git access fast, scalable, and reliable is critical. As part of the Gitaly:Git team, you’ll work to improve performance and find new ways to improve and scale Git access by designing and implementing improvements to our Git storage layer including integrating existing Git features as well as developing new features in the Git project itself.
Some examples of our projects:
- Bundle URIs for fetches and clones
- Replace Git’s existing files refs backend with a reftable backend
- Server side repository backups
What you’ll do
- Develop features and improvements to the GitLab product in a secure, well-tested, and performant way
- Develop improvements and features to the Git open source project
- Collaborate with Product Management to maintain a high bar for quality in a fast-paced, iterative environment
- Advocate for improvements to product quality, security, and performance
- Solve technical problems of moderate scope and complexity.
- Craft code that meets our internal standards for style, maintainability, and best practices for a high-scale web environment.
- Conduct Code Review within our Code Review Guidelines and ensure community contributions receive a swift response.
- Recognize impediments to our efficiency as a team (“technical debt”), propose and implement solutions
- Represent GitLab and its values in public communication around specific projects and community contributions.
- Confidently ship small features and improvements with minimal guidance and support from other team members. Collaborate with the team on larger projects.
- Participate in Tier 2 or Tier 3 weekday and weekend and occasional night on-call rotations to assist in troubleshooting product operations, security operations, and urgent engineering issues.
What you’ll bring
- At least 5 years experience in software engineering
- Proven professional experience writing and testing quality code in Go
- Experience with C or a willingness to learn and to contribute to Git
- A solid understanding of distributed systems
- Experience with Ruby on Rails is a plus
- Experience with Kubernetes is a plus
- Proficiency in the English language, both written and verbal – sufficient for success in a remote and largely asynchronous work environment
- 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
- 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 excellent organizational skills
- Demonstrated ability to work closely with other parts of the organization
- Share our values, and work in accordance with those values
- Ability to thrive in a fully remote organization
About the team
The Gitaly:Git team aims to make Git access fast, scalable, and cost effective for GitLab users. Much of this happens through the Gitaly service, a backend gRPC service written in Go that shells out to Git for Git operations. With ever growing repository sizes and Git workloads, scaling the Gitaly service is not a trivial task. This involves improvements to areas of the Gitaly service to decrease latency, to handling traffic spikes in intelligent ways, to optimizing certain commands in Git itself to speed up operations, to novel ways of handling and storing Git data. Working at the lowest levels at GitLab, these improvements are felt all the way up the stack from UI responsiveness in the GitLab application, to Git push latency, and how long CI/CD jobs take.
You can see what we are working on in our Team page.
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.
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.