Senior Software Engineer

CircleCIToronto, ON
$156,000 - $196,000

About The Position

CI/CD has been solved. Now it's being reinvented. AI agents don't just run pipelines. They write code, trigger builds, interpret failures, and propose fixes. The interfaces that developers use to understand and trust that work don't exist yet. We're building them. At CircleCI, our guiding principles aren't posters on a wall. We learn fast: we run experiments, accept failure, and scale what works. We think like the customer: every decision connects back to the developer sitting in front of a failing build at 2 am. We own the outcome: not just our slice of it, but the whole thing. If that's how you already work, you'll fit here. Team-Agnostic Placement We don't hire for a team. We hire for CircleCI. Where you land depends on where your strengths create the most leverage, and we figure that out together. You might own the CI pipeline experience, deploy and release tooling, notification infrastructure, monetization flows, AI agent surfaces, or the foundational web platform. The through line across all of it is the same: full-stack ownership, a high bar for craft, and work that directly shapes how tens of thousands of developers experience CircleCI every day.

Requirements

  • AI-native engineering practices. You use AI tools daily and can speak to what you've built, where they changed your approach, and where they fall short.
  • A track record of shipping. You've built something real and put it in front of users. 5+ years of production full-stack experience, with latency, responsiveness, and reliability treated as design concerns, not afterthoughts.
  • Full-stack depth. Strong React and TypeScript. Comfortable owning backend services in Go: API design, data modeling, service integration.
  • System design. You lead architectural decisions on complex systems. You make conscious tradeoffs, document your reasoning, and create the foundation others build on.
  • Adaptability. You don't just thrive in ambiguity, you reduce it for others. You turn unclear requirements into a direction the team can execute on.
  • Technical leadership. You mentor engineers, give direct feedback on technical direction, and raise the quality bar through how you engage in reviews and design discussions, not just what you ship.

Responsibilities

  • Build AI-natively. AI is how we work. It's not a productivity layer on top of engineering, but the default starting point for how problems get approached and solved.
  • Set technical direction. You define the approach others build from. When the problem is complex or the answer isn't obvious, you're the person who leads the design discussion, writes the ADR, and makes the call.
  • Invent new interfaces. Software delivery is being reinvented. Pipelines run autonomously, generate fixes, and surface results that need human judgment. The tools developers use to understand, trust, and act on that work don't exist yet. You'll define what they look like and establish the patterns the team builds on.
  • Own the full stack. Build features end-to-end in Go, React, and TypeScript. You don't hand off at a layer boundary. You own the outcome.
  • Obsess over craft. Reliability and responsiveness are design concerns, not afterthoughts. Care about how the interface holds up when stakes are high and hold your team to that same standard.
  • Champion observability. Use Honeycomb, Datadog, and Rollbar to understand and improve your systems. Operational data drives stability, not just incident response.
  • Close gaps and fix the conditions that created them. You'll notice gaps and close them. When a gap reflects something broken in how the team works, you fix that too.
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service