🏢
Gitlab
Senior Software Engineer (RoR/Go), SSCS: Authentication
Job Description
ABOUT THE ROLE
As a Senior Software Engineer on the Authentication team at GitLab, you will play a critical role in shaping the future of authentication services for our platform. You will work on building and maintaining the next generation of authentication features across our Rails monolith and GATE, our new identity and access management control and data plane. Your contributions will have a direct impact on the security and reliability of GitLab and its customers.
WHAT YOU'LL DO
As a Senior Software Engineer, you will contribute to the team's overall direction and help shape the future roadmap of GATE and GitLab's authentication services. Your key responsibilities will include:
- Designing and implementing authentication features across the Rails monolith and GATE, including token issuance, validation, and identity services.
- Migrating authentication and token management paths from the monolith into GATE while maintaining reliability across all deployment models.
- Building authentication mechanisms from the ground up, such as Workload Identity Federation.
- Bolstering the security posture of our users and organizations through robust access management and addressing vulnerabilities reported through our HackerOne program.
- Solving technical problems of high scope and complexity across Go and Ruby codebases.
- Helping define and improve internal standards for style, maintainability, and best practices in a high-scale environment.
- Representing GitLab and its values in public communication around broader initiatives, specific projects, and contributions from people not working for GitLab Inc.
- Shipping moderately sized features and improvements with moderate guidance and support from other team members.
- Collaborating with the team on larger projects, including the build-out of GATE.
WHAT YOU'LL NEED
To succeed in this role, you will need:
- Professional experience with Go and/or Ruby in scaling or mission-critical software-as-a-service products.
- Familiarity with authentication and authorization technologies or techniques such as OAuth, OpenID Connect (OIDC), Security Assertion Markup Language (SAML), single sign-on (SSO), System for Cross-domain Identity Management (SCIM), Lightweight Directory Access Protocol (LDAP), JSON Web Token (JWT), role-based access control (RBAC), or identity and access management (IAM).
- Knowledge of token systems, cryptographic signing, and key management.
- Experience building or contributing to a service from concept to production, including proposal, discussion, and execution.
- Proficiency in written and verbal English, with the ability to clearly communicate complex problems and solutions in a remote, largely asynchronous work environment.
- Experience with performance and optimization problems, and a demonstrated ability to diagnose and prevent them.
WHY REMOTE
As a remote employee, you will have the flexibility to work from anywhere and will be part of a global team that values collaboration and open communication. You will have the opportunity to work on complex and challenging projects, and to contribute to the development of a world-class authentication platform.
BENEFITS
As a GitLab employee, you will receive a competitive salary, comprehensive health insurance, and a generous parental leave policy. You will also have access to a range of other benefits, including a 401(k) plan, education stipend, and flexible schedule.