Tech Stack
Tag name is followed by "@" symbol and proficiency level value.
About proficiency levels:
- 1-2 — basic awareness. Minimal hands-on experience, and a rudimentary understanding of the technology's purpose;
- 3-6 — daily use. Comfortable and regular usage, capable of handling common tasks and challenges related to the technology;
- 7-9 — you are an expert, you can teach others, you know all the pitfalls and tricks;
- 10 — exceptional knowledge, comprehensive understanding, and adeptness in all aspects of the technology, including advanced problem-solving. Think twice before claiming or demanding such level.
API
Communication @ 7
Debugging @ 4
Git @ 4
Go @ 4
Mentoring @ 4
Observability @ 7
Performance Analysis
Ruby @ 4
SRE
gRPC @ 4
- 1-2 — basic awareness. Minimal hands-on experience, and a rudimentary understanding of the technology's purpose;
- 3-6 — daily use. Comfortable and regular usage, capable of handling common tasks and challenges related to the technology;
- 7-9 — you are an expert, you can teach others, you know all the pitfalls and tricks;
- 10 — exceptional knowledge, comprehensive understanding, and adeptness in all aspects of the technology, including advanced problem-solving. Think twice before claiming or demanding such level.
Details
As a Backend Engineer on the Gitaly team, you will help build GitLab’s Git data storage tier, a standalone product that provides reliable, secure, and fast access to Git repositories through APIs and storage operations. You will work at the boundary between GitLab and Git on distributed storage, repository management, high availability, performance, observability, and operational excellence.
The team is building the next generation of source code management, including new approaches to scaling Git storage and improving how repository data is managed and served. The role involves balancing roadmap delivery, technical improvements, customer and reliability work, and operational support.
Responsibilities
- Own moderately sized to complex technical initiatives from problem definition and proposal through implementation, rollout, monitoring, and operational follow-through.
- Act as the directly responsible individual for projects by aligning stakeholders, communicating progress and trade-offs, identifying risks, and maintaining execution with minimal guidance.
- Lead technical design for distributed storage, Git repository management, performance, reliability, and scalability problems, using data and benchmarking to guide decisions.
- Partner with GitLab, Git, Infrastructure, Site Reliability Engineering, Dedicated, and customer-facing teams to deliver cross-functional outcomes.
- Improve engineering practices through mentoring, documentation, knowledge sharing, design reviews, and constructive code reviews.
- Take operational ownership of systems, including incident response, post-incident improvements, capacity and performance analysis, and customer escalations.
- Improve automation, reusable designs, dashboards, upstream contributions, and development and testing workflows.
- Respond to user emergencies, platform alerts, and support requests, including regular on-call duties.
Requirements
- Significant professional experience building, debugging, and optimizing distributed or highly available software systems in large-scale production environments.
- Experience owning complex projects end to end, including technical design, execution, rollout, and operational support.
- Strong systems design skills and the ability to reason about performance, failure modes, consistency, concurrency, capacity, and observability.
- A track record of influencing technical decisions and working effectively with stakeholders across teams and disciplines.
- Experience mentoring engineers and improving the quality of designs, code, testing, and documentation.
- Strong written and verbal communication skills, including the ability to explain complex technical concepts and clarify trade-offs.
- Professional experience with Go or another backend or systems language.
- Experience operating production systems, participating in incident response, and applying operational learnings to durable improvements.
- Experience with Ruby, Git internals, gRPC, or Git server infrastructure is highly desirable.
Team
The Gitaly team shares ownership of the product’s design, implementation, reliability, and customer outcomes. The team works autonomously while collaborating through design discussions, code reviews, incident response, documentation, and asynchronous communication. Engineers are encouraged to take ownership as directly responsible individuals, seek input early, make decisions transparently, and share knowledge.
Benefits
- Benefits supporting health, finances, and well-being
- Flexible paid time off
- Team member resource groups
- Equity compensation and employee stock purchase plan
- Growth and development fund
- Parental leave
GitLab roles are remote, with location-based eligibility requirements for some positions. This role is available to residents of Poland.