Job Description
Vacancy Status
Yes - This posting is for an existing vacancy within the organization and is open to new applications. (Backfill)
AI Disclosure
As part of the application process, Artificial Intelligence will be used in the hiring process for this role
Hybrid
This role is categorized as hybrid. This means the successful candidate is expected to report to Markham three times per week, at minimum [or other frequency dictated by the business].
The Role
As an Infotainment Audio Software Developer, you will be responsible for contributing to the creation, maintenance, and support of all Audio Functionality within the General Motors Infotainment system. Your contributions will enable customers to enjoy a premium audio experience.
What You'll Do
- Contribute as a designer and developer to design, code, and release software for an Android / QNX / Linux Develop and Deploy C++ modules as part of the audio middleware Stack, developing Unit tests, with focus on Quality and performance.
- Develop Android Framework components, Linux middleware, for GM specific custom implementations. Maintain and improve existing Infotainment Software, working with large code bases, developing entirely new code and maintaining existing code
- Participate in feature requirements analysis and test-case design review Participate in feature prototyping, testing, and refinement
- Good hands on experience with Software product lifecycle.
- Participate in improving and tailoring existing drivers, stack and applications to our needs
- Provide clear and complete documentation based on the definition of the software development process
- Collaborate with other engineers by using Scrum/Agile development process.
- Be able to occasionally travel domestically and internationally
Your Skills and Abilities (Required Qualifications)
- 5+ years of hands-on experience in C++. Object-oriented software development experience (C++) with a solid grasp of algorithms and data structures
- Experience working with large code bases, developing entirely new code and maintaining existing code Experience with Android/AOSP components, frameworks and architecture (such as Apps, Application Framework, Multimedia, etc.)
- Experience with Multithreaded environment, worked on IPC communication.
- Knowledge of test development and testing of embedded system firmware
- Software platform development experience, such as Linux and Android platform
- Commercial software development experience in C++, Java, C.
- Familiar with Android development toolkit, test frameworks and process
- Experience with SCM tools, GIT, JIRA, Jenkins, etc.
- Experience of Scrum/Agile software development process and being a Scrum Master Ability to perform complex diagnostic and investigation based on limited information