Do you have what it takes to reinvent an industry?

The auto industry is developing today’s cutting edge technologies in the fields of connectivity, multimedia, self-driving and much more. You can be part of a growing, young, dynamic team of multi-disciplinary software developers and engineers that are reinventing the industry as we speak. General Motors is leading the pack in this field.

If you want to make history happen, bring your skills and energy to General Motors’ Canadian Technical Centre’s Software Infotainment team today and be part of a revolution.
We are waiting to be wowed.

The Opportunity
Core application developers and engineers will contribute to the development of GM’s Infotainment systems. Your contribution will enable customers to connect their personal consumer devices to vehicle infotainment systems. The Core Application developer will be responsible for feature development and maintenance of core applications and services such as: calling, contacts, settings, and messages.

What We Need You To Do
Contribute as designer and developer to building infotainment solutions for consumer devices. Responsible for the entire life cycle of the assigned domain, including requirements, system design, development, deployment, and maintenance of the infotainment software
Participate in the design of a best-in-class in-vehicle platform for GM infotainment systems
Participate in architecture, requirements, and design, code, and test case reviews
Participate in new feature development, maintenance of existing features and bug fixes
Participate in feature requirement and design reviews and all regular software development activities
Participate in test case design reviews and make bug prevention proposals
Provide clear and complete documentation based on the definition of the software development process
Collaborate with team members in software development activities using the Scrum/Agile development process
Senior members will take ownership of each project, need to make design and implementation decisions autonomously and mentor junior members

 Who We Are Seeking
5+ years of experience programming in Java, C++ or Object C
3+ years of experience developing applications or middleware for mobile platforms like Android or iOS
Object-oriented software development experience with a solid grasp of algorithms and data structures
Experience working with large code bases, developing entirely new code and maintaining existing code
Experience providing guidance, leadership, and mentoring to team members
Experienced working with SCM tools like GIT, SVN or ClearCase
Experienced working with Agile/Scrum development process and tools
Ability to perform diagnostic and investigate issues based on limited information
Excellent verbal and written communication skills
Creative, disciplined, strong sense of responsibility, delivery and schedule commitment
Strong leadership and interpersonal communication skills are required for senior position

Bachelor’s degree in Computer Science, Software Engineering or equivalent field
Advanced degrees preferred

Other Skills Preferred
Experienced with Android Open Source Project development
Software development experience in Linux platform
Software development experience in a variety of embedded system
Experience with scripting, tool development and test automation framework
Experience with the development of automotive infotainment solutions
Experience with vehicle communication network protocols including CAN, MOST