
GitLab
Intermediate Backend Engineer, Authorization at GitLab
GitLab is hiring a Intermediate Backend Engineer, Authorization in Bangalore, India. The role details below come from the employer’s posting. You apply on the employer’s own site, and TechJobs360 never charges candidates.
On this page
1. Job details
GitLab
Intermediate Backend Engineer, Authorization
Bangalore, India
Not disclosed by employer
See the job description
On the employer’s site
2. Job description from GitLab
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 Software Engineer on GitLab's Authorization team, you'll help build and maintain the system that decides what every user, token, and automated agent can access on GitLab.com, Self-Managed, and Dedicated. You'll 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. You'll 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.
You'll 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 monolith's process or be reached through remote procedure calls using gRPC. You don't need prior Rust experience: several engineers on the team learned it for this work, and we'll support you doing the same.
Some examples of our projects:
- Refactoring GitLab's 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 you'll do
- Implement authorization changes in GitLab's 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 you'll 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.
- Strong 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.
3. Skills that usually matter in software engineering roles
General guidance from TechJobs360, not part of GitLab’s posting. The job description above is what counts for this role.
| Area | What to be comfortable with |
|---|---|
| Languages | Java, Python, Go, C# or C++ |
| Frameworks & tools | A web framework, SQL and NoSQL databases, Git, cloud basics |
| Computer science basics | Data structures, algorithms, complexity |
| Ways of working | Version control, code review, testing, reading other people's code |
4. How to prepare for a Intermediate Backend Engineer, Authorization interview
Interview formats differ by company and team, so confirm the rounds with the recruiter. Most hiring loops for roles like this cover:
A recruiter call or an online test. Read the job description twice and be ready to explain how your experience matches it.
Often coding problems on arrays, strings, trees, graphs or dynamic programming, solved while you explain your thinking.
Often design and trade-off questions sized to the role: an API, a component, or a small system.
Answer with the STAR method (Situation, Task, Action, Result). Prepare two or three real stories: a hard problem you solved, a disagreement you handled, and something you learned quickly.
5. Take-home pay example (FY 2026–27, new tax regime)
An example for two common package sizes, not this job’s salary. Under the new tax regime (Section 115BAC) salaried employees get a standard deduction of ₹75,000.
| Component | Example: ₹12 LPA | Example: ₹24 LPA |
|---|---|---|
| Basic salary (40% of CTC) | ₹40,000 / mo | ₹80,000 / mo |
| Employee EPF (12% of basic) | -₹4,800 / mo | -₹9,600 / mo |
| Income tax (TDS) | -₹6,933 / mo | -₹32,450 / mo |
| Professional tax | -₹200 / mo | -₹200 / mo |
| Approx. in-hand | ₹81,344 / mo | ₹1,44,304 / mo |
Work out the take-home pay for your own offer, in either tax regime.
6. Questions and how to apply
How do I apply?
Use the apply button below. It opens GitLab’s own application page.
Does TechJobs360 recruit for this job or charge a fee?
No. We list openings from employers’ career sites. GitLab runs the hiring, and nobody should ask you to pay to apply.
Is this job still open?
We check listings against the employer’s page every day and take down jobs that have closed.
Should I apply if I don’t match every requirement?
Usually yes, if you meet most of the core requirements and can show you learn quickly. A referral from someone on the team can help your resume get read.
Apply for Intermediate Backend Engineer, Authorization at GitLab
Apply on the employer’s site →
To apply for this job please visit job-boards.greenhouse.io.