Cruise Automation is hiring a

Staff Software Engineer - C++ (System Performance)

San Francisco, United States

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 dreams 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:

The Autonomous Vehicle (AV) software pipeline employs complex algorithms in the domains of perception, planning and control, which leads to aggressive system compute and data-movement requirements. With stringent latency, bandwidth and memory bounds, it is critical to engineer and optimize the system architecture for efficiency.

Cruise is looking for a senior systems software engineer to help us in building and deploying tools to understand and characterize system performance, improving software implementations through various forms of parallelization (thread, task and data-levels) and reconciling performance requirements between hardware and software. 

In this role, you will collaborate closely with engineers from different AV Engineering teams (e.g. Computer Vision, Perception, platform) to scope out system/software requirements at the application level while engaging with AV hardware teams to understand the target hardware platform and its constraints.

If you're interested in innovating on a complex hardware-software system that contributes to one of the greatest technical challenges of our generation, let's chat!

Day-to-day responsibilities include: 

  • Build performance tooling to evaluate, understand and improve system bottlenecks and memory profile.
  • Optimize algorithms and implementations through parallelism (SIMD, OpenMP, OpenCL etc)
  • Propensity to build and deploy production software at the highest levels of quality and performance
  • Collaborate with cross functional agile teams of AV engineers 

You should apply for this role if you have the following qualifications:

  • 2+ years of experience in system software engineering
  • Strong expertise in writing production quality C++ code
  • Strong foundations in graph theory, data structures and algorithms
  • Experience with developing parallel algorithms using task-level (TBB or equivalent), thread-level (OpenMP or equivalent) and/or data-level (SIMD, Neon, AVX2) parallelism
  • Comfortable and experienced in software development lifecycle - coding, debugging, optimization, testing, integration
  • MS, or higher degree in CS/CE/EE, or equivalent, in industry experience

Bonus points!

  • Experience with deep learning frameworks (e.g., Tensorflow, etc) and software stack (e.g., TensorRT, TVM, etc)
  • GPU programming using CUDA and/or OpenCL and associated acceleration libraries (BLAS, DNN, etc)
  • Experience with ROS architectures
  • FPGA programming experience (Verilog, VHDL)

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.

Similar jobs

Other jobs at Cruise Automation