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, improving team practices, and raising the quality of designs, code, testing, and documentation.
Strong written and verbal communication skills, including the ability to explain complex technical concepts and make trade-offs clear.
Professional experience with Go or another backend or systems language.
Experience operating production systems, participating in incident response, and turning operational learnings into durable improvements.
Experience with Ruby, Git internals, gRPC, or Git server infrastructure is highly desirable.
What you'll be doing
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 keeping execution moving 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 engineers and teams across GitLab, including 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 the systems you work on, including incident response, post-incident improvements, capacity and performance analysis, and customer escalations.
Identify opportunities to improve work beyond an individual change through automation, reusable designs, better dashboards, upstream contributions, and improvements to development and testing workflows.
Respond to user emergencies, platform alerts, and support requests, including regular on-call duties.
Perks and Benefits
Benefits to support your health, finances, and well-being
Flexible Paid Time Off
Team Member Resource Groups
Equity Compensation & Employee Stock Purchase Plan