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.
AI @ 4
Communication @ 6
Distributed Systems @ 7
Go @ 6
Leadership @ 8
Observability @ 7
Python @ 6
Ruby @ 6
Salesforce
Technical Leadership @ 8
- 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
GitLab is seeking a Principal Engineer to help define and drive the next generation of its Fulfillment platform. Fulfillment enables customers to receive the right product access and manage seats, usage, and spend across GitLab.com, Self-Managed, Dedicated, and other deployment models. Its core areas include entitlements, licensing and provisioning, seat management, usage visibility, and cost management.
This is a senior player-coach role responsible for setting architectural direction across the Fulfillment portfolio while remaining hands-on in design, implementation, technical problem-solving, and mentorship. The role will help address the existing platform's scale, maintainability, and architectural complexity and define how Fulfillment should operate over the next ten years.
Responsibilities
- Define and communicate the long-term architecture and technical strategy for Fulfillment, including target state, principles, priorities, and migration sequencing.
- Assess the current platform and address risks related to scale, reliability, performance, data correctness, operability, and maintainability.
- Drive architectural decisions across entitlements, provisioning, seat management, usage visibility, and cost management.
- Establish service boundaries, data ownership, contracts, and integration patterns across Fulfillment, Monetization, billing, Salesforce, and product services.
- Lead an incremental modernization program that improves the existing platform while continuing to deliver customer and business value.
- Partner with Engineering Managers, Product Management, and cross-functional stakeholders to turn architectural direction into executable roadmaps and shipped outcomes.
- Work hands-on with prototypes, critical implementations, migrations, performance improvements, reliability work, and incident learning.
- Champion practical artificial intelligence adoption across Fulfillment, including agentic coding and AI-assisted engineering workflows, and help teams apply these tools responsibly and effectively.
- Mentor and coach Senior and Staff Engineers and improve the quality of technical decision-making across the organization.
Requirements
- 10+ years of professional software engineering experience, including substantial experience at Staff, Principal, or equivalent technical leadership level.
- Direct experience building, operating, or modernizing Fulfillment systems, including entitlements, licensing, provisioning, subscription lifecycle, seat management, usage metering, usage billing, or cost controls.
- A track record of setting technical direction across multiple teams and turning architecture into reliable, operated systems.
- Deep experience with distributed systems, scalability, availability, performance, observability, data integrity, and failure-mode analysis.
- Comfort working in one or more of Ruby, Go, and Python, with the ability to navigate both backend and frontend in a polyglot system.
- Practical experience using artificial intelligence in software engineering, including agentic coding or AI-assisted development workflows.
- Demonstrated success modernizing mature or degraded platforms without relying on a risky big-bang rewrite.
- Experience designing systems that span multiple deployment models, such as software as a service, Self-Managed, Dedicated, or disconnected environments.
- Strong product and business judgment, with the ability to connect technical investment to customer experience, revenue, operational efficiency, risk reduction, and time to market.
- Excellent written communication and the ability to influence senior stakeholders across teams without formal authority.
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.
All GitLab roles are remote, with some roles carrying specific location-based eligibility requirements. The base salary range listed applies to residents of the United States only and does not include bonuses, equity, or benefits.