Staff Backend Software Engineer - Python

Ottawa or Toronto, ON, Canada
Full Time
Software Engineering
Experienced

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

 
Share

Apply for this position

Required*
We've received your resume. Click here to update it.
Attach resume as .pdf, .doc, .docx, .odt, .txt, or .rtf (limit 5MB) or Paste resume

Paste your resume here or Attach resume file

Human Check*