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 Senior Software Developer to join our Diagnostic Software team in the Autonomous Vehicle Integrity Platform department. In this role, you will be responsible for designing, developing, and deploying diagnostic software applications 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 larger team
leading and participating in future development
Collaborate with Diagnostic Architecture Engineers in defining requirements, and design reviews to drive software (C/C++) solutions
Lead and 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
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 more 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
Requirements:
Bachelor’s degree in Computer Science, Computer Engineering, or a related field
6+ years of hands-on experience in designing and developing in C++ complying with coding standards and best practices
Expert in 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/Matlab)
Experience providing guidance, leadership, and mentoring 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, delivery and schedule commitment
Strong leadership and interpersonal communication skills
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
Exposure to GPU computing
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