Senior Software Engineer - Future Compute
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.
At Cruise, our engineers have opportunities to grow and develop while learning from leaders at the cutting-edge of their fields. With a culture of internal mobility, there's opportunity to thrive in a variety of disciplines. This is a place for dreamers and doers to succeed.
If you are looking to solve one of today’s most complex engineering challenges, see the results of your work in hundreds of self-driving cars, and make a positive impact in the world starting in our cities, join us.
About the role:
As a member of Cruise’s Future Compute Team, you will help blaze the trail for the rest of Cruise to develop, deploy and maintain high-performance and reliable Autonomous Vehicle (AV) software on the “next” generation of hardware architectures. You will work closely with hardware R&D and AV software teams (AI and robotics) to evaluate, simulate, and predict performance requirements for AV software workloads on future compute platforms. You will also help in integrating the AV software stack and novel sensor modalities onto these future compute platforms by solving performance critical issues and ensuring a reliable and robust platform bringup.
Day-to-day responsibilities include:
- Performance modeling and prediction of AV software stack performance on future compute platforms using performance models and simulators
- Work with AV software teams to characterize AV workload and provide requirements to AV hardware teams
- Prototype AV software stack and software toolchains/SDK for future platforms
- Analyze software architecture, identify algorithmic and architectural bottlenecks and collaborate with AV software teams to fix these bottlenecks
You should apply for this role if you have the following qualifications:
- Strong system fundamentals and coding abilities (C++)
- Strong background in computer architecture
- Solid understanding of how to design performance-critical software
- Solid background in working with compute accelerators (e.g. GPUs), programming languages (e.g. CUDA, OpenCL), and general purpose parallel programming
- Excellent interpersonal skills
- Minimum 3+ years of relevant industry experience
- MS or PhD in CS, or related technical field
Bonus points!
- Experience with Python or other scripting languages
- Experience with real-time operating systems or software design
- Experience with designing software applications for safety critical systems
- Experience with ML frameworks (TensorFlow, ONNX, PyTorch)
- Experience with FPGA prototyping and emulation environments
- Experience with performance tools (e.g. perf, vtune, nsight, eBPF)
- Experience with performance modeling, simulation and analysis (TLM, cycle-accurate models, etc)
- Experience with lower-levels of an accelerator software stack (i.e. drivers, runtimes, and user-level API) and the inter-layer interactions
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:
- Competitive salary and benefits including 401(k) Cruise matching program to help you meet your long-term financial goals
- 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.
Cruise LLC provides equal employment opportunities to all employees and applicants for employment without regard to race, color, religion, sex, national origin, age, disability, sexual orientation, gender identity or expression, veteran status, or genetics. In addition to federal law requirements, Cruise LLC complies with applicable state and local laws governing nondiscrimination in employment in every location in which the company has facilities. This policy applies to all terms and conditions of employment, including recruiting, hiring, placement, promotion, termination, layoff, recall, transfer, leaves of absence, compensation and training. Pursuant to applicable laws, we will consider for employment qualified applicants with arrest and conviction records. And if you believe that you will need any type of accommodation, please let us know.
Note to Recruitment Agencies: Cruise does not accept unsolicited agency resumes. Furthermore, Cruise does not pay placement fees for candidates submitted by any agency other than its approved partners.