This list contains only the countries for which job offers have been published in the selected language (e.g., in the French version, only job offers written in French are displayed, and in the English version, only those in English).
We are seeking a highly motivated C++ Software Developer to join our Diagnostic Infrastructure team in the Autonomous Vehicle Integrity Platform department. In this role, you will be responsible for designing, developing, and deploying diagnostic software using sound, industry standard methodologies. You will work with hands-on writing software or solutions, based on detailed requirements and system specifications. Additionally, you will work with development activities that will include updating existing software and/or developing new software solutions to address a specific need or solve a particular business problem. You will contribute to all development activities in accordance with appropriate methodologies and application of a repeatable, systematic, and quantifiable approach to the development process. You will develop your skill further by working closely with more senior developers to ensure code alignment with design patterns and frameworks.
Job Responsibility
Own and develop diagnostic software solutions as part of a cross-functional team, contributing to current and future feature development
Collaborate with Diagnostic Architecture Engineers to refine requirements, participate in system design reviews to drive software solutions primarily in C++
Participate in software design, 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
Work collaboratively with team members within an agile development environment
Take ownership of assigned tasks and ensure timely completion of design, testing, and implementation with a strong focus on quality
Contribute as an integral member of an energetic, high-performing team
Average travel requirements of 1-2 weeks a year, including travel to the US
Requirements
Bachelor's degree in Computer Science, Computer Engineering, or a related field
3+ years of hands-on experience in designing and developing in C++ complying with coding standards and best practices
Experience with object-oriented software development, algorithms, and data structures
Experience working with large code bases, developing entirely new code and maintaining existing code
Development knowledge in another language (e.g. C/Python)
Ability to investigate issues based on limited information. Demonstrated analytical skills to resolve issues
Strong communication skills and the ability to work effectively in a collaborative team environment
Must be legally allowed to work in Canada and be able to travel to the US
Must have a valid Canadian driver's license
Nice to have
Master's degree in Software Engineering, Computer Science, Computer Engineering or related
Understanding of major automotive vehicle systems such as Advanced Driver-Assistance (ADAS), Motion Control, Automotive Network, and Powertrain
Experience with CI/CD pipelines and automation tools
Experience in embedded software development on System-on-Chips (SoCs)
Exposure to Automotive Platforms (Ethernet/CAN/LIN, AUTOSAR, Safe Linux)
Exposure to sensors – cameras, radars, LiDARs
Experience developing automotive diagnostic systems (OBDII) and functional safety control systems (ISO26262)
What we offer
Paid time off including vacation days, holidays, and supplemental benefits for pregnancy, parental and adoption leave
Healthcare, dental, and vision benefits
Life insurance plans to cover you and your family
Company and matching contributions to a Defined Contribution Pension plan to help you save for retirement
GM Vehicle Purchase Plan for you, your family and friends