Backend Engineer, Authorization (Bengaluru)

Backend Engineer, Authorization (Bengaluru)

07 Nov
|
Gitlab
|
Bengaluru

07 Nov

Gitlab

Bengaluru

Job highlights

- Helpful,but not required: hands-on PostgreSQL experience,or experience with Rust,gRPC or Protocol Buffers,Cedar or other policy languages,Zanzibar-style authorization systems,Go,or service-oriented architecture

Job Summary An overview of this role As a Software Engineer on GitLabs Authorization team, youll help build and maintain the system that decides what every user, token, and automated agent can access on GitLab.com, Self-Managed, and Dedicated. Youll work alongside experienced engineers who guide the larger design decisions, delivering well-scoped changes and growing into ownership of larger parts of the system.

Today, that work is Ruby on Rails. Roughly 400 policy classes and a catalog of about 1,900 permissions sit behind every application programming interface (API) request. Youll work on fine-grained token permissions, custom roles, and the GraphQL and representational state transfer (REST) APIs that enforce them. A single request can trigger hundreds of permission checks, so correctness and performance both matter.

Youll also contribute to moving the permission model to a new authorization stack that pairs the Rails monolith with a Rust policy engine. The engine represents access relationships and evaluates permission rules, and can run within the monoliths process or be reached through remote procedure calls using gRPC. You dont need prior Rust experience: several engineers on the team learned it for this work, and well support you doing the same.

Some examples of our projects:

- Refactoring GitLabs policy layer so the same permission definitions can be evaluated by the monolith and the new authorization service




- Extending fine-grained token permissions to more resources, with guidance from senior engineers on the design

What youll do

- Implement authorization changes in GitLabs Ruby on Rails monolith so permission checks allow intended access and deny unauthorized access.
- Deliver well-scoped workstreams from feature-flagged rollout through verifying that the old and new systems produce the same results, with review and guidance from senior engineers.
- Build and extend fine-grained permissions for tokens and roles so additional resources have permission coverage consistent with the established catalog.
- Extend and fix authorization enforcement so GraphQL and the REST API enforce the intended permissions consistently.
- Make incremental refactors to long-lived policy code without changing behavior for existing customers.
- Investigate and fix reliability, performance, and security issues so affected permission checks return the expected results without regressions.
- Work with the authentication, platform, and artificial intelligence (AI) teams to document interface contracts that keep permission checks consistent as authorization moves toward a shared service.
- Contribute to design documents, merge requests, and code reviews so proposed changes have a documented rationale and review feedback is addressed asynchronously.





What youll bring

- Solid experience building and maintaining production Ruby on Rails applications, typically gained over 2 to 4 years or more.
- Hands-on experience with authorization concepts, such as role-based access control or fine-grained permissions, from work or projects.
- A security mindset: you treat a permission bug as a security bug and consider who a change could affect before choosing an implementation.
- Experience making careful changes to existing codebases, including incremental refactors and feature-flagged rollouts that preserve existing behavior.
- Familiarity with GraphQL or API authorization patterns.
- Awareness of performance, including how repeated permission checks can add up on every request.
- Robust written communication and the ability to work effectively when most decisions happen in a document or merge request rather than a meeting.
- Helpful, but not required: hands-on PostgreSQL experience, or experience with Rust, gRPC or Protocol Buffers, Cedar or other policy languages, Zanzibar-style authorization systems, Go, or service-oriented architecture.

We welcome transferable experience from adjacent domains such as identity, policy engines, and platform security.

About the team

We work in a fully asynchronous organization, with most decisions made in documents or merge requests rather than meetings.

Disclaimer: This job posting has been aggregated from external source. Role details, content, and availability are subject to change. Applicants are advised to confirm the latest information directly on the company website before applying.

📌 Backend Engineer, Authorization (Bengaluru)
🏢 Gitlab
📍 Bengaluru

Reply to this offer

Impress this employer describing Your skills and abilities, fill out the form below and leave Your personal touch in the presentation letter.

Subscribe to this job alert:

Get the latest job offers by email for: backend engineer, authorization (bengaluru) / bengaluru

Subscribe to this job alert:

Get the latest job offers by email for: backend engineer, authorization (bengaluru) / bengaluru