Job Search and Career Advice Platform

Enable job alerts via email!

Staff Backend Software Engineer - Python

Ouster

Toronto, Ottawa

Hybrid

CAD 90,000 - 120,000

Full time

Yesterday
Be an early applicant

Generate a tailored resume in minutes

Land an interview and earn more. Learn more

Job summary

A leading lidar technology company is seeking a passionate software engineer to enhance their cloud infrastructure and distributed systems. In this role, you will design, architect, and maintain a scalable system while developing robust backend applications primarily in Python. Ideal candidates should have a Bachelor's degree in Software Engineering or Computer Science and extensive experience with distributed system design. The position is open to applicants in Ottawa and Toronto.

Qualifications

  • 12+ years of experience in coding for production software applications.
  • 8+ years of experience in distributed system design with focus on scalability.
  • Extensive experience in designing and implementing backend applications using Python.
  • Strong familiarity with developing in Linux environments.

Responsibilities

  • Design, architect, build and maintain a complex distributed system at scale.
  • Develop robust Python code to support product functionalities.
  • Collaborate on developing microservices to generate traffic analytics.
  • Architect solutions to satisfy requirements.

Skills

Python
Distributed system design
Cloud infrastructure
Docker
GitLab Pipelines
Terraform
Kubernetes
Problem-solving
Communication skills

Education

Bachelor’s degree in Software Engineering or Computer Science

Tools

Postgres
GCP technologies
C++
Rust
Go
TCP
GRPC
MQTT
Job description

Ouster is a NASDAQ listed company with a range of lidar sensors and software solutions built on top of those sensors. Our advanced vision algorithms and sensor hardware are used in autonomous cars, drones, robots, smart intersections, and many other applications. If you’re motivated by solving big problems, we’re hiring key roles across the company and need your help!

Your role will primarily involve working on Ouster Studio, with the mission of making it easy to view, share, manage and work with Ouster lidar data. We develop a web and desktop application that allows users to create their own organization where they can invite other members, upload lidar data, view their organization’s lidar data, view sample data from Ouster, and share data with Ouster’s support team. You will be responsible for working with stakeholders on clarifying product requirements, designing and implementing solutions for those requirements. You are someone who works well in a team and independently.

We are seeking a self-driven, dynamic and passionate software engineer who will be a key player in improving our architecture, developing, and maintaining our backend infrastructure, APIs, and creating new services that are useful for our customers and internal engineers.

You will be working on the cloud infrastructure that makes a cutting edge distributed system like ours possible. Our infrastructure enables streaming of raw lidar pointclouds efficiently to many clients, reformatting lidar recordings, and post processing the data with algorithms like SLAM.

Open to applicants in Ottawa and Toronto.

Job Responsibilities:
  • Design, architect, build and maintain a complex, in production, distributed system at scale
  • Develop robust Python code to support product functionalities
  • Work with the team and individually to architect and implement our cloud infrastructure and applications
  • Collaborate on developing microservices to generate traffic analytics
  • Architect solutions to satisfy requirements
  • Break down design into engineering requirements
  • Collaborate with other internal software teams
What we’re looking for:
  • Bachelor’s degree or higher in Software Engineering, Computer Science, or related discipline
  • 12+ years of experience in coding for production software applications
  • 8+ years of experience in distributed system design with focus on scalability
  • Extensive experience in designing and implementing backend applications using Python is required
  • Experience developing high performance applications in a compiled language such as C++, Rust, or Go, is highly desirable
  • Strong experience designing and managing high performance databases, with an emphasis on Postgres. (Bonus for experience with time-series data)
  • Experience using a variety of communication protocols (TCP, GRPC, MQTT, etc.) and understanding of fundamental networking concepts
  • Strong familiarity with developing in Linux environments
  • Thorough knowledge of GCP technologies available to optimally architect cloud solutions
  • A solid understanding of how to design, develop, test, and monitor production backend systems
  • Strong understanding of Cloud Security best practices and standards
  • Experience with Docker, GitLab Pipelines, Terraform, and Kubernetes
  • Excellent problem-solving abilities
  • Strong communication skills
Get your free, confidential resume review.
or drag and drop a PDF, DOC, DOCX, ODT, or PAGES file up to 5MB.