Software Engineer

CircleCI
Summary
Join CircleCI as a Software Engineer specializing in Customer Identity & Access Management (CIAM). You'll be responsible for designing, building, and maintaining services that power the core of CircleCI's product, including user identity management, access control, login and session management, API authentication, and secure credential management. This fully remote role involves collaborating with a global team, participating in on-call support, and incident management. The CIAM team, part of the Foundations division, focuses on the user identity experience from sign-up to access management, powering authentication and authorization for all CircleCI APIs. The Foundations division is the heart of CircleCI, building and operating services that enable customer builds from trigger to status.
Requirements
- 3-5 years as a full time professional developer with experience building reliable, zero-downtime, observable distributed systems
- The utmost care in regards to how your code runs in production. You have familiarity with observability tools like Honeycomb, Datadog, Graylog, and Rollbar, and understand how to use that information to address a problem
- Ability to write code that’s easily readable, testable, maintainable, and documented
- Interest in improving the lives of our customers and the team, and can use just enough code with a keen eye on constraining complexity. We use Go primarily, but you'll also encounter TypeScript, and Clojure - all deployed into Kubernetes and as agents on our compute fleet
- Ability to learn and think critically about both system design and software engineering concepts and blend those perspectives pragmatically based on project needs
- Ability to quickly adapt when priorities change and making conscious tradeoffs with incomplete information
Responsibilities
- Design and build new features, simplify existing services, automate and scale our systems as we continue to rapidly grow and evolve
- Write sustainable, testable, high-quality, high-performance code
- Support, maintain, and debug production microservices in a highly complex distributed system
- Champion a culture of observability and monitoring by using operational data to help your team improve the stability and performance of our systems
- Partner with members of a cross-functional team and other partners to set the direction of our platform and product: learn about our business problems, explore solutions, weigh design tradeoffs, and prioritize them to deliver maximum value in a sustainable, incremental fashion
Preferred Qualifications
- Experience with identity management systems, OAuth, OIDC, JWTs and/or React with Next.js
- Working transparently and collaboratively within a distributed team
- Favor toward regular, incremental delivery over precision
- Striving for continuous learning and improvement for yourself and your team
- Passionate about ensuring that all of our systems—software and human—scale smoothly
Benefits
- Canada Base Pay Range $142,000 — $177,000 CAD
- We will ensure that individuals with disabilities are provided reasonable accommodation to participate in the job application or interview process, to perform essential job functions, and to receive other benefits and privileges of employment. Please contact us to request accommodation
Share this job:
Similar Remote Jobs

