Senior Software Engineer
Indexed description
We’re now bringing our Security and Energy products closer together, building industry-leading features that make homes both safer and greener. This work sits at the heart of ecobee’s future and is evolving fast.
You’ll join the Smart Security Camera team, playing a pivotal role in our UK-based engineering group. The team owns core camera capabilities end-to-end, shipping standout features while running and evolving production systems at scale.
You’ll work across a broad slice of the stack, from cloud services (primarily Python and Go) to on-device software and algorithms. Experience with our specific tech stack is a bonus, but what's more important is possessing strong engineering fundamentals, a curious mind and an adaptable approach to problem solving.
This role follows a hybrid schedule, with in-office work required on 2 days per week at our central Leeds hub to support collaboration, and flexibility to work remotely for the remainder of the week.
Highlights Of Our Work Include
- Building AI-driven algorithms for object detection and video analysis
- Designing power-optimised software for next-generation hardware
- Owning production services from deployment through monitoring and optimisation
- Analysing real-world fleet data from tens of thousands of deployed devices to optimise our systems, detect issues, and deliver industry-leading experiences for our users.
Technologies We Use
- Languages: Python (Flask), Go (and a small amount of Java and Typescript)
- APIs: Apollo GraphQL
- Data layer: Postgres, Bigtable
- GCP: GKE, Cloud Run, Pub/Sub, BigQuery, Dataflow
- AWS: S3, Lambda, ECS
- CI/CD: GitHub Actions, CircleCI, ArgoCD
- Infrastructure: Terraform, Helm, Kubernetes
- Build and operate production services across cloud platforms and a globally distributed IoT device fleet
- Own systems end-to-end - from design and implementation through deployment, monitoring, and optimisation
- Take responsibility for production reliability including observability and incident response
- Design and evolve services to meet demanding scale, resilience, and performance requirements
- Influence architecture and technical direction for next-generation products
- Mentor engineers and help raise the technical bar across the team
- Evaluate emerging technologies and help bring the right ones into production
What You’ll Bring to the Table:
You don’t need to tick every box, but you should bring solid fundamentals and a strong bias towards delivery:
- Experience building and operating production systems in Python (Go experience is a strong plus)
- Hands-on experience with modern public cloud platforms such as GCP and/or AWS
- Comfortable working with data at scale, including SQL and schema-less databases
- Experience running containerised and serverless workloads in production
- Able to balance delivery speed with reliability, scale, and performance
- Comfortable working in ambiguous problem spaces - especially around scale, concurrency, and optimisation
- Experience working with IoT platforms or large distributed systems is a strong advantage
- Comfortable using AI-assisted development tools (for example, Claude)
What happens after you apply:
Application review. It will happen. By an actual person in Talent Acquisition. We get upwards of 100+ applications for some roles, it can take a few days, but every applicant can expect a note regarding their application status.
Interview Process:
- A 30-minute phone call with a member in Talent Acquisition
- A 45-minute virtual interview with the Hiring Manager and a member of the team
- The final interview will be a 90-minute technical deep dive interview with the team (2 engineers)
Create a free Caio profile to unlock more results and save your role and location preferences.
Unlock free search