There’s never been a more exciting time to work for General Motors.
To achieve our vision of a world with Zero Crashes, Zero Emissions and Zero Congestion, we need people to join us who are passionate about creating safer, better and more sustainable ways for people to get around. This bold vision won’t happen overnight, but just as we transformed how the world moved in the last century, we are committed to transforming how we move today and in the future.
Why Work for Us
Our culture is focused on building inclusive teams, where differences and unique perspectives are embraced so you can contribute to your fullest potential as you pursue your career. Our locations feature a variety of work environments, including open work spaces and virtual connection platforms to inspire productivity and flexible collaboration. And we are proud to support our employees volunteer interests, and make it a priority to join together in efforts that give back to our communities.
The successful candidate will be part of a team of engineers responsible for software development across multiple domains (ADAS, Infotainment, Vehicle Controls). You will work cross-functionally with multiple teams to quickly deliver high quality, production level code that is core to autonomous and other vehicle systems. You will also work collaboratively with stakeholders to ensure that the software meets our customer’s requirements. As an intermediate software engineer, you will be responsible to develop, implement, and test software for high impact projects that are aligned to GM’s future business needs. Join our agile team and let’s create the future together!
- Own and develop software solutions as part of a larger team; leading and participating in future development
- Collaborate with Controls and Systems Engineers in architecting requirements, and design reviews to create C, C++ and/or Python code
- Lead and participate in code, and low-level test case reviews
- Conduct software verification (unit testing, simulation, and in-vehicle as needed)
- Provide clear and complete documentation per the software development process
- Collaborate with team members through Scrum/Agile. Utilize agile software development methodologies including continuous integration and continuous deployment.
- Take ownership of each project, make design and implementation decisions autonomously, and mentor junior members
- Be an integral part of a new and energetic team
- Average travel requirements of 2-3 weeks a year, including travel to the US
Required Skills and Experience
- 3+ years designing and developing in C and C++
- Development knowledge in another language (e.g. Python/MATLAB)
- Experience in object-oriented software development, algorithms, and data structures
- Experience working with large code bases, developing entirely new code and maintaining existing code
- Experience with agile software development
- Experience providing technical guidance to team members
- Ability to investigate issues based on limited information. Demonstrated high level of analytical ability to resolve complex problems.
- Creative, disciplined, strong sense of responsibility
- Strong leadership and interpersonal communication skills, proven ability to collaborate effectively with team members locally and remotely
- Must be legally allowed to work in Canada and be able to travel to the US
- Must have a valid Canadian driver’s license
Preferred Skills and Experience
- Understanding of major automotive vehicle systems such as Advanced Driver-Assistance (ADAS), Motion Control, Automotive Network, and Powertrain
- Basic knowledge of controls theory
- Experience with Machine/Deep Learning algorithms
- Experience with Data Visualization and Business Intelligence tools (e.g. HUE, Jupyter, PowerBI)
- Experience with big-data databases (e.g. Hadoop/SQL/NoSQL)
- Exposure to sensors – cameras, radars, LiDARs
- Exposure to GPU computing
- Exposure to Automotive Platforms (Ethernet/CAN/LIN, AUTOSAR)
- Experience with SAFe methodologies
- Experience with automotive embedded controls or equivalent
- Experience with OBDII, ISO26262 functional safety control systems
- Knowledge of vehicle architectures, serial data communication, and hardware/software interfaces
Minimum Education Required
- Bachelor’s Degree in Computer Science, Mechatronics, Software, Electrical or Computer Engineering
- Advanced degrees preferred
General Motors is committed to being a workplace that is not only free of discrimination, but one that genuinely fosters inclusion and belonging. We strongly believe that workforce diversity creates an environment in which our employees can thrive and develop better products for our customers. We understand and embrace the variety through which people gain experiences whether through professional, personal, educational, or volunteer opportunities.
We encourage interested candidates to review the key responsibilities and qualifications and apply for any positions that match your skills and capabilities.
View & Apply