Software Engineer
GM is developing the next generation of embedded platform software to deliver state-of-the-art ADAS features to our customers. The Autonomy Interface SW (AIS) team is responsible for building runtime software that enables robust interface contracts, system degradation transitions, and seamless sensing integration with the autonomy stack.
As a Software Engineer you'll be responsible for designing, documenting, and implementing complex, highly scalable, low-latency software in C++ on Linux-based systems for the AIS team. Your work will be the foundational software which the rest of GM's AV stack is built upon. 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, join us.
What you'll be doing (Responsibilities)
- Develop software in C++ to interface the Cruise autonomy stack with the sensors and custom hardware on the vehicle
- Improve and deliver reliable software through requirements generation, continuous integration, automated testing, issue tracking, and code reviews
- Collaborate with colleagues across multiple teams and mentor other developers
- Deliver complex projects through incremental development
Your Skills & Abilities (Required Qualifications)
- 2+ years of experience writing production-quality software
- Bachelors Degree in relevant field or relevant work experience.
- Experience with C++11 or later
- Knowledge of and experience applying software best practices
What Will Give You A Competitive Edge (Preferred Qualifications)
- 5+ years of experience writing production-quality software
- Experience developing on and for embedded Linux / POSIX systems
- Demonstrated experience building, testing, and shipping production software
- Experience with safety critical development (FDA, FAA, Automotive)
- Experience with embedded build systems, such as buildroot or yocto
- Experience working with Camera or other sensors like radars/lidars.
- Experience with networking
- Experience with ROS or other robotics middleware platforms
- Experience with other languages: C, Python, Bash, Go
- Experience with QNX, VxWorks, or similar.
Compensation: The compensation information is a good faith estimate only. It is based on what a successful applicant might be paid in accordance with applicable state laws. The compensation may not be representative for positions located outside of New York, Colorado, California, or Washington.
- The salary range for this role is $142,000 to $215,000. The actual base salary a successful candidate will be offered within this range will vary based on factors relevant to the position.
- Bonus Potential: An incentive pay program offers payouts based on company performance, job level, and individual performance.
- Benefits: GM offers a variety of health and wellbeing benefit programs. Benefit options include medical, dental, vision, Health Savings Account, Flexible Spending Accounts, retirement savings plan, sickness and accident benefits, life insurance, paid vacation & holidays, tuition assistance programs, employee assistance program, GM vehicle discounts and more.
GM does not provide immigration-related sponsorship for this role. Do not apply for this role if you will need GM immigration sponsorship now or in the future. This role is categorized as hybrid. This means the selected candidate is expected to report to a specific location at least 3 times a week {or other frequency dictated by their manager}. The selected candidate will be required to travel <25% for this role. This job may be eligible for relocation benefits.