At CircleCI, we enable thousands of developers to do better work every day. We’re looking for full-stack folks to help nurture the systems that make it possible.
As a member of the Execution team, you’ll own services that power the heart of our product. You’ll work on features and capabilities like our new execution environments, new pricing models, and keeping our large multi-tenant fleet of build servers running smoothly. You’ll collaborate daily with talented colleagues across the world.
This is a full-time, fully remote role that requires you to participate in our on-call support rotation.
What You’ll Do
- Design and build new features, simplify existing services, and scale our systems as we rapidly grow and evolve.
- Write sustainable, testable, high-quality, high-performance code.
- Support, maintain, and debug production microservices in a complex distributed system.
- Foster a culture of observability and monitoring: use operational data to help your team improve the stability and performance of our systems.
- Partner with members of a cross-functional team and other stakeholders to set the direction of our platform and product: learn about our business problems, explore solutions, weigh design tradeoffs, write effective user stories, and prioritize them to deliver maximum value in a sustainable, incremental fashion.
What We’re Looking For:
- At least one year of professional experience building and debugging distributed systems in production environments.
- You write code that’s easily readable, testable, and maintainable, with an eye towards baking observability in from the start.
- You’re interested in functional programming. We use Go and Clojure primarily, but it’s okay if you haven’t yet. It’s important that you’re excited about working with both.
- If you have experience managing infrastructure as code on a public cloud, that would be a bonus.
- You’re good at navigating the dynamics of a small, rapidly-growing company with a remote-first culture: quickly adapting when priorities change and making conscious tradeoffs with incomplete information.
- You work transparently and collaboratively within a distributed team.
- You favor regular, incremental delivery over perfection.
- You strive for continuous learning and improvement for yourself and your team.
You’re excited about ensuring that all of our systems—software and human—scale smoothly.
Work remotely with our globally distributed team!
We’re a distributed company with teammates across the world. For this role, we are hiring engineers to work remotely in The United States and through our affiliate, Continuous Labs, in the following Canadian provinces: Alberta, British Columbia, Manitoba, New Brunswick, Newfoundland and Labrador, Nova Scotia, Ontario, Prince Edward Island and Saskatchewan.