We're the driverless car company.
We believe in improving people’s lives by making transportation safer, more accessible, and more convenient. We’re building the world’s most advanced software to fuel the driverless cars that safely connect people to the places, things, and experiences they care about.
We seek and embrace diversity in all of its forms. We continuously push ourselves to think differently and take ownership wherever it's needed. This is a place for dreamers and doers to succeed. If you share our passion for achieving what some say is impossible, join us.About the Role:
We’re looking for software engineering professionals with deep strengths in developing highly performant, highly available software written in modern C++. Some of the teams you could work with include:
Our Simulation team is responsible for building all of the tools we need to test and validate our autonomous vehicles performance and behavior before it goes out on the road. That includes tools to validate that our perception systems properly detect obstacles on the road, our planning systems are able to pick safe and efficient paths through the world, and that our controls systems can properly act on those plans. 3D Simulation also works with data inputs and outputs, collision engines and rendering capabilities in order to build massive detailed cities and eventually train our neural networks.
Perception & Computer Vision
Perception is the overarching team that takes raw sensor input and uses it to determine what is happening around the car. We deal with a variety of sensors, including lidars, radars, and cameras. The perception team spans efforts all the way from raw sensor detection, to sensor fusion, to tracking and prediction of all the different objects around the car.
Our Planning team handles decision making in all urban road situations, including collision avoidance, intelligent routing, unprotected turns, four-way-stops, lane changes, and more. Our job is to produce robust, general solutions that capture all the nuances of driving safely on the road. Engineers on this team develop algorithms and systems for handling complex maneuvers and road scenarios and write code that is clean, clear, fast and reliable.
Remote Assistance is like Mission Control for a space launch. We build the tools that allow remote operators to help Cruise Vehicles when they need assistance like tele-presence, tele-operation and remote guidance. We work on the front-end, back-end, vehicle and develop the entire experience for the remote advisers.
The frameworks team builds performance-critical frameworks, reusable libraries, and components in modern C++ foundational to the entire engineering organization at Cruise. The team provides the basic message-passing and logging primitives used by the on-car software stack, manages resource budgets, establishes best-practices, and advises feature teams on how to best utilize the hardware and fit into the larger resource model.
Day-to-day responsibilities include:
- Help design and implement our simulator, which will test our autonomous stack virtually and increase the quality and scenarios the stack is exposed to
- Work closely with vehicle engineering to enable real time vehicle communication and feedback
- Help to optimize the performance of the simulator
- Interact with our QA & Autonomous Vehicle engineers to implement new features and improve the usability of our simulator
- Thrive in a fast-paced, collaborative work environment where immediate impact is a result of your efforts and where your contribution is highly visible
You should apply for this role if you have the following qualifications:
- Exceptional ability to write clean, fast, reliable and highly scalable software
- Excellent modern C++ coding abilities, with strong system fundamentals
- Propensity for shipping product, ideally commercially available software
- Tendency to automate and unit testing everything
- Experience in designing, coding, integrating, and debugging C++ software such as in;
- An environment that develops a complex multithreaded product
- Latency and performance constrained environments (e.g. video games, high frequency trading)
- Building applications that run on real-time operating systems
- Developing for POSIX compliant operating systems i.e. Linux, ROS, OS X, and/or related paradigms
- Understanding of networking and multithreading
- Experience developing in a Linux environment
- Passion for self-driving technology and its potential impact on the world
- Natural ability to communicate well across teams of developers and other staff
- BS, MS or PhD in Computer Science, Math, Physics, or related technical field
- Experience with ROS
- Designing software applications for safety critical systems
Perks of being a Cruiser:
While doing meaningful work is the best perk of all, we also offer the following programs and benefits to support the extraordinary humans who serve as the backbone in making our robot cars go:
- The opportunity to solve difficult problems that have immediate and valuable real-world applications
- Competitive salary and benefits including 401k Cruise matching program to help you meet your long-term financial goals
- Medical / dental / vision, AD+D and Life
- Paid parental leave so you can spend time with the newest addition(s) to your family’s fleet
- Health and Wellness reimbursement
- Annual Learning and Development stipend
- Flexible vacation and 10 paid company holidays
- State of the art equipment for your work station
- Healthy lunch, snacks, dinner
Take a glimpse through the lens of a Cruiser on our LinkedIn Page
GM Cruise LLC provides equal employment opportunities (EEO) 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, GM 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 including the San Francisco Fair Chance Ordinance, we will consider for employment qualified applicants with arrest and conviction records.