Senior Software Engineer (Ruby), Security Platform: Authorization

Posted Yesterday
Easy Apply
4 Locations
Remote
139K-235K Annually
Senior level
Cloud • Security • Software • Cybersecurity • Automation
The intelligent orchestration platform for DevSecOps
The Role
Own and evolve GitLab’s authorization systems across its Ruby on Rails monolith and next-generation Rust policy engine. Design fine-grained permissions for users, tokens, roles, and AI agents; secure GraphQL and REST APIs; lead feature-flagged rollouts and migrations; improve performance and reliability; and collaborate across authentication, platform, AI, and modular-service teams in a distributed asynchronous environment.
Summary Generated by Built In

GitLab is the intelligent orchestration platform for DevSecOps. GitLab enables organizations to increase developer productivity, improve operational efficiency, reduce security and compliance risk, and accelerate digital transformation. More than 50 million registered users and more than 50% of the Fortune 100* trust GitLab to ship better, more secure software faster.

The same principles built into our products are reflected in how our team works: we embrace AI as a core productivity multiplier, with all team members expected to incorporate AI into their daily workflows to drive efficiency, innovation, and impact. GitLab is where careers accelerate, innovation flourishes, and every voice is valued. Our high-performance culture is driven by our values and continuous knowledge exchange, enabling our team members to reach their full potential while collaborating with industry leaders to solve complex problems. Co-create the future with us as we build technology that transforms how the world develops software.

*Fortune 500® is a registered trademark of Fortune Media IP Limited, used under license. Claim based on GitLab data. Fortune 100 refers to the top 20% ranked companies in the 2025 Fortune 500 list, published in June 2025. Fortune and Fortune Media IP Limited are not affiliated with, and do not endorse products or services of GitLab.

An overview of this role

As a Senior Software Engineer on GitLab's Authorization team, you will own significant parts of the system that decides what every user, token, and automated agent can access on GitLab.com, Self-Managed, and Dedicated.

Today that work is Ruby on Rails. Roughly 400 policy classes and a YAML catalog of about 1,900 permissions sit behind every API request. You will work on the permission model itself (fine-grained token permissions, custom roles, and the GraphQL and REST surfaces that enforce them). You will also help move that model onto GitLab's next-generation authorization stack, which pairs the Rails monolith with a Rust policy engine using Zanzibar-style relationship tuples and Cedar policies. The monolith already loads that engine in-process and can reach it over gRPC.

Some examples of our projects:

  • Refactoring GitLab's policy layer so the same permission definitions can be evaluated by the monolith and by our new authorization service
  • Extending fine-grained token permissions to more resources and more kinds of principal, including the service identities behind AI agents
  • Bringing GitLab's first modular service, Artifact Registry, onto the new authorization stack
  • Isolating custom-role and permission data per organization ahead of GitLab Cells
What you’ll do
  • Design and ship authorization changes in GitLab's Ruby on Rails monolith, where a single request can trigger hundreds of permission checks.
  • Own a workstream end to end. Problem definition through feature-flagged rollout, dual-run verification, and cleanup.
  • Build and extend fine-grained permissions for tokens and roles, and keep the permission catalog coherent as it grows.
  • Extend and harden authorization enforcement across GraphQL and the REST API.
  • Refactor long-lived policy code so both the monolith and our new authorization engine can evaluate it, without changing behavior for existing customers.
  • Improve the reliability, performance, and security posture of existing authorization systems, including paying down permission-model debt.
  • Partner with the authentication, platform, AI, and modular-service teams on interface contracts as authorization moves toward a shared service.
  • Drive technical decisions in writing. Design docs, architecture decision records, and code review, in a fully asynchronous organization.
What you’ll bring
  • Significant experience building and operating production Ruby on Rails applications.
  • Experience designing or implementing authorization systems, including role-based access control and fine-grained permissions.
  • A security mindset. You treat a permission bug as a security bug, and you reason about blast radius before elegance.
  • Comfort making careful changes to large, long-lived codebases. Incremental refactors, feature-flagged rollouts, and migrations that must not change behavior for existing users.
  • Working knowledge of GraphQL and API authorization patterns.
  • Attention to performance at scale. You understand why one uncached check matters when it runs hundreds of times per request.
  • Strong written communication. You are effective when most decisions happen in a document or a merge request rather than a meeting.
  • Helpful but not required: Rust, gRPC or Protocol Buffers, Cedar or other policy languages, Zanzibar-style authorization systems, Go, or service-oriented architecture. Several engineers on this team picked up Rust for this work and we will support you doing the same.
  • We welcome transferable experience from adjacent domains such as identity, policy engines, and platform security.
About the team

The Authorization team owns the capabilities that determine what users, tokens, and automated agents can access across GitLab. Our work runs on two tracks. We are strengthening the permission model inside the Ruby on Rails monolith (fine-grained token permissions, custom roles, and the policy layer that enforces them), and we are moving that model onto a shared authorization platform built for GitLab's modular and cell-based future.

We work closely with the teams building GitLab's authentication layer, its Rust authorization engine, and the first modular services adopting it. The team is small, distributed across time zones, works in the open, and makes its decisions in writing.

The base salary range for this role’s listed level is currently for residents of the United States only. This range is intended to reflect the role's base salary rate in locations throughout the US. Grade level and salary ranges are determined through interviews and a review of education, experience, knowledge, skills, abilities of the applicant, equity with other team members, alignment with market data, and geographic location. The base salary range does not include any bonuses, equity, or benefits. See more information on our benefits and equity. Sales roles are also eligible for incentive pay targeted at up to 100% of the offered base salary.

United States Salary Range
$139,200$235,200 USD
How GitLab Supports Full-Time Employees
  • Benefits to support your health, finances, and well-being
  • Flexible Paid Time Off 
  • Team Member Resource Groups
  • Equity Compensation & Employee Stock Purchase Plan
  • Growth and Development Fund
  • Parental Leave 

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.  

Privacy Policy: Please review our Recruitment Privacy Policy. Your privacy is important to us.

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.

Skills Required

  • Significant experience building and operating production Ruby on Rails applications
  • Experience designing or implementing authorization systems, including role-based access control and fine-grained permissions
  • Security mindset, including treating permission bugs as security bugs and assessing blast radius
  • Experience making careful changes to large, long-lived codebases, including incremental refactors, feature-flagged rollouts, and behavior-preserving migrations
  • Working knowledge of GraphQL and API authorization patterns
  • Understanding of performance at scale, including the impact of repeated uncached permission checks
  • Strong written communication in documentation and merge requests
  • Rust
  • gRPC or Protocol Buffers
  • Cedar or other policy languages
  • Go
  • Service-oriented architecture
  • Transferable experience in identity, policy engines, or platform security

What the Team is Saying

GitLab Compensation & Benefits Highlights

  • Healthcare Strength Health coverage includes nationwide Cigna medical with Kaiser options in CA/HI, plus dental, vision, an Employee Assistance Program, and monthly HSA contributions for HDHP enrollees. Company‑paid life and AD&D at 2× base salary and employer‑paid short/long‑term disability further bolster financial protection.
  • Leave & Time Off Breadth Time away policies feature Flexible PTO with no set accruals alongside sick time, caregiving sick time, bereavement, volunteer time, and public holidays. Guidance emphasizes coordinating coverage within an all‑remote, asynchronous model.
  • Parental & Family Support Paid parental leave offers 16 weeks for birth or adoption, with planning and return‑to‑work toolkits. Family support is reinforced by programs such as backup care and tutoring via Vivvi in select regions.

GitLab Insights

Am I A Good Fit?
beta
Get Personalized Job Insights.
Our AI-powered fit analysis compares your resume with a job listing so you know if your skills & experience align.

The Company
San Francisco, CA
2,500 Employees
Year Founded: 2014

What We Do

GitLab is the Intelligent Orchestration Platform where software teams and their AI agents stay in flow to amplify their capacity for innovation. Together, they automate repetitive tasks to plan, build, secure, test, deploy and maintain software. With GitLab, software teams spend less time on coordination overhead and more time on the next big idea. What started in 2011 as an open source project to help one team of programmers collaborate is now the intelligent orchestration platform millions of people use to deliver software faster, more efficiently, while strengthening security and compliance. Since the beginning, we've been firm believers in remote work, open source, DevSecOps, and iteration. We get up and log on in the morning to work alongside the GitLab community to deliver new innovations every month that help teams and their AI agents ship great code faster.

Why Work With Us

GitLab is where careers accelerate, innovation flourishes, and every voice is valued. Co-create the future with us as we build technology that transforms how the world develops software.

Gallery

Gallery
Gallery
Gallery
Gallery
Gallery
Gallery
Gallery
Gallery
Gallery
Gallery

GitLab Teams

Team
Software Engineering
Team
Software Engineering
Team
Sales
Team
Customer Success
About our Teams

GitLab Offices

Remote Workspace

Employees work remotely.

All-remote means that each individual in the organization is empowered to work and live where they are most fulfilled; it makes it clear that every team member is equal. No one, not even the executive team, meets in-person on a daily basis.

Typical time on-site: None
San Francisco, CA

Similar Jobs

GitLab Logo GitLab

Brand Manager

Cloud • Security • Software • Cybersecurity • Automation
Easy Apply
Remote
2 Locations
2500 Employees
115K-194K Annually

GitLab Logo GitLab

Brand Manager

Cloud • Security • Software • Cybersecurity • Automation
Easy Apply
Remote
2 Locations
2500 Employees
95K-161K Annually

GitLab Logo GitLab

Back-end Engineer

Cloud • Security • Software • Cybersecurity • Automation
Easy Apply
Remote
2 Locations
2500 Employees
153K-259K Annually

GitLab Logo GitLab

Back-end Engineer

Cloud • Security • Software • Cybersecurity • Automation
Easy Apply
Remote
2 Locations
2500 Employees
115K-194K Annually

Sign up now Access later

Create Free Account

Please log in or sign up to report this job.

Create Free Account