
Senior Software Engineer – User Management
Posted Oct 14

Posted Oct 14
This is a fully remote position, open to applicants in Costa Rica.
• Develop, construct, and operate features within the User Management API, covering tenant and landscape lifecycle, user and group management, role-based access control, service accounts, client credentials, and security and audit tools.
• Take ownership of Okta and Microsoft Entra ID integrations, including provisioning, lifecycle synchronization, event handling, and app-registration automation.
• Ensure safe and recoverable integration failure modes.
• Oversee the API authentication model and authorization policies.
• Modify and version gRPC and REST contracts while coordinating SDK releases.
• Manage secrets utilizing Azure services.
• Support multi-tenancy, auditing, and data integrity across different tenants.
• Create NUnit and Moq unit tests, integration tests, and automated smoke suites that focus on authentication, permissions, and tenant isolation.
• Collaborate with front-end engineers on sign-in and administrative experiences.
• Work alongside product teams utilizing the platform through the SDK.
• Engage in on-call duties and incident response for the PowerPlan cloud service.
• Within the first 90 days, run the identity stack locally, articulate the portal-to-authorized-API flow, and deliver a change impacting at least two services.
• Within the first year, take ownership of a significant platform area, enhance test coverage and observability, and provide guidance to product teams on identity-related inquiries.
• Over 5 years of experience in developing production back-end services using C# / .NET.
• Proficient in ASP.NET Core Web API, dependency injection, and asynchronous programming patterns.
• Practical experience in identity and access management.
• Familiarity with OAuth 2.0 and OpenID Connect, including authorization code with PKCE, client credentials, token validation, and refresh mechanisms.
• Knowledge of JWT claims design, validation against various issuers and audiences, signing keys, and key rotation.
• Experience with multi-tenant user, role, and permission models, including tenant isolation.
• Proven experience in user lifecycle management and synchronization with an external identity provider.
• Production experience with at least one enterprise identity provider: Okta, Microsoft Entra ID / Azure AD, Auth0, Ping, or another equivalent provider.
• Strong relational database skills with SQL Server and EF Core, including migrations and query performance optimization.
• Experience in designing and versioning REST APIs; preferably with gRPC / Protocol Buffers.
• Awareness of OWASP Top 10 security risks.
• Ability to manage secrets with care, write auditable code, and implement least-privilege principles.
• Nice to have: Experience with Okta Management API / SDK, Okta event hooks and inline hooks, or Okta Identity Engine (IDX).
• Nice to have: Familiarity with Microsoft Graph, particularly app registrations, service principals, and credential management.
• Nice to have: Experience with SAML 2.0, SCIM provisioning, or enterprise SSO federation.
• Nice to have: Knowledge of Azure Key Vault, App Configuration, Managed Identity, and Data Protection.
• Nice to have: Experience with internal NuGet package publishing and versioning using GitVersion and Conventional Commits.
• Nice to have: Proficiency in Angular or another modern front-end framework.
• Nice to have: Background in regulated industries.
• Nice to have: Familiarity with AI-assisted development tools.
• Availability for remote work.
• Excellent workplace recognized by Great Place To Work.
• Multicultural corporate environment.
• Participation in on-call duties and incident response.
Addepar
NinjaOne
NinjaOne
Get handpicked remote jobs straight to your inbox weekly.