Senior Backend Software Engineer - Python
Location: Ottawa or Toronto, ON, Canada
Department: Software Engineering
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’s Blue City solution with the mission of making roads safer, reducing commute times, and cutting emissions. We develop software that provides cities with the information needed to better understand and improve their transportation network. Our small, tightknit, team consists of engineers with backgrounds in Transportation and Software Engineering, dedicated to this mission.
We are seeking a dynamic and passionate software engineer who will be a key player in architecting, developing, and maintaining our backend infrastructure, APIs, services, and analytics.
You will be working on the cloud infrastructure that makes a cutting edge distributed system like ours possible. Our infrastructure enables live streaming of raw lidar pointclouds efficiently to many clients, continuous streaming of data from our edge computers at the intersection to the cloud to perform analytics, and gives users access to the analytics we calculate.
You will also be making roads safer by creating analytics like our near miss detection, which finds close calls between vehicles, cyclists and pedestrians. This lets cities do before and after studies on infrastructure changes, see the change in rate of close calls, and even view 3D recordings of individual events to better understand issues at their intersections.
Job Responsibilities:
- Design, build and maintain a complex, in production, distributed system at scale
- Develop robust Python and Rust 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
- 7+ years of experience in coding for production software applications
- 5+ years of experience in distributed system design with focus on scalability
- Extensive experience in designing and implementing backend applications using Python is required
- Strong 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 AWS 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, Jenkins, and Terraform
- Excellent problem-solving abilities
- Strong communication skills
Bonus points:
- Experience in the ITS industry or Transportation Engineering
- Past experience working with embedded systems
- Experience programming in Rust
We acknowledge the confidence gap at Ouster. You do not need to meet all of these requirements to be the ideal candidate for this role.
There are more than 50,000 engineering jobs:
Subscribe to membership and unlock all jobs
Engineering Jobs
60,000+ jobs from 4,500+ well-funded companies
Updated Daily
New jobs are added every day as companies post them
Refined Search
Use filters like skill, location, etc to narrow results
Become a member
🥳🥳🥳 452 happy customers and counting...
Overall, over 80% of customers chose to renew their subscriptions after the initial sign-up.
To try it out
For active job seekers
For those who are passive looking
Cancel anytime
Frequently Asked Questions
- We prioritize job seekers as our customers, unlike bigger job sites, by charging a small fee to provide them with curated access to the best companies and up-to-date jobs. This focus allows us to deliver a more personalized and effective job search experience.
- We've got over 200,000 jobs from 15,000+ vetted companies. No fake or sleazy jobs here!
- We aggregate jobs from 15,000+ companies' career pages, so you can be sure that you're getting the most up-to-date and relevant jobs.
- We're the only job board *for* software engineers, *by* software engineers… in case you needed a reminder! We add thousands of new jobs daily and offer powerful search filters just for you. 🛠️
- Every single hour! We add 2,000-3,000 new jobs daily, so you'll always have fresh opportunities. 🚀
- Typically, job searches take 3-6 months. EchoJobs helps you spend more time applying and less time hunting. 🎯
- Check daily! We're always updating with new jobs. Set up job alerts for even quicker access. 📅
What Fellow Engineers Say
