We’re Cruise, the self-driving ride-hailing service.
We are building the world’s most advanced, all-electric, self-driving cars to safely connect people to the places, things, and experiences they care about. We believe self-driving cars will help save lives, reimagine cities, redefine time in transit, and restore freedom of movement for many.
Cruisers have the opportunity to define new ways of working and learn from world-class leaders in their field. This is a place where dreamers and doers can succeed.
If you are looking to play a part in making a positive impact in the world by advancing the revolutionary work of self-driving cars, join us.
About the role:
The Motion Planning team is responsible for generating kinematically feasible, comfortable, and collision-free motion trajectories. The Vehicle Controls team is responsible for generating the commands that makes the vehicle follow these trajectories safely, accurately, and reliably. These teams work together to develop feedback and feedforward controls for reference tracking, state estimation, vehicle dynamics modeling and simulation, and fault detection/tolerance.
We are looking for experienced software engineers to design and develop maintainable, extensible and scalable software solutions and frameworks to drive development of the Motion Planning and Controls software stack. These frameworks will enable and ease simulation test creation, diagnostics, data analysis and requirements validation, and ground truth collection from state-of-the-art systems. You will accelerate the teams’ productivity by building automation tools and shared libraries that will be used across engineering teams.
Day-to-day responsibilities include:
- Accelerate team’s effectiveness and efficiency by designing and implementing scalable automation tools for test creation, data collection and analysis, debugging, and performance monitoring
- Design and implement shared libraries for collecting and analyzing ground truth data
- Design and implement spoofers and test tools for characterizing system and subsystem performance
- Utilize the existing Hardware in the Loop (HIL) and vehicle platforms for controls testing
You should apply for this role if you have the following qualifications:
- Experience developing scalable software solutions that will be used by a dozen developers
- Experience developing automation scripts (Python and Bash scripts)
- Experience developing applications for Linux
- Experience writing C++ in a production environment (unit testing, code review, algorithm performance and tradeoffs, etc.)
- BS in Computer Science, Electrical Engineering, Mechanical Engineering, or Aerospace Engineering and 3+ years of industry experience
- Practical familiarity with closed-loop control systems and/or signal processing
- Familiarity with ROS, numpy & scipy and Python bindings for C++
- Experience in code optimization or high performance computing
- Experience with time-series data analysis and online performance monitoring tools
- Familiarity with SQL
Perks of being a Cruiser
While doing meaningful work is rewarding in itself, we also offer the following programs and benefits to support the extraordinary humans who serve as the backbone in making our self-driving cars go:
- Medical / dental / vision, AD+D and Life
- Flexible vacation and company paid holidays
- Healthy lunch, snacks, dinner
- Paid parental leave & family expansion stipend
- Monthly gym stipend
- Quarterly offsites & working retreats
- On-site massages
- State-of-the-art equipment for your work station
Learn more about Life at Cruise through the lens of a Cruiser on our LinkedIn Page.