Infotainment Lead Engineer
Apply NowCompany: Tech Tammina
Location: Warren, MI 48089
Description:
As a Senior software engineer, working on the Infotainment Software Development Tools Team, you will have the opportunity to develop a broad-range of key tools that are required by the Infotainment Software Engineer as well as a large group of end users and stakeholders.
Development of these tools will be performed by utilizing programming languages such as C, C++, C#, Java, Kotlin and Python on an Android platform.
You will have the opportunity to collaborate with teams from Autonomous, Electrification, and other cross-functional GM internal teams as well as Tier 1 and Tier 2 suppliers.
The engineering tools cover a full spectrum of capabilities and include:
Vehicle simulators
Development boards
Logging tools
Android App used to capture/send logs from the vehicle
The team you will join uses state-of-the-art disciplines and to software environments including the following:
Agile practices, including SCRUM
Paired programming
Test Driven Development (TDD)
Develop cutting edge solutions for manufacturing and dealership troubleshooting
Freedom to innovate and determine the team's roadmap
Team ownership of direction
Exploring vehicle level logging solutions that span outside of infotainment
Development tool chain includes Geritt, GIT, Jenkins and RTC.
Software is built in a continuous integration approach with a strong emphasis on quality
The tools developed by the Infotainment Development Tools Team are actively used by a broad user community including:
Infotainment software development/test engineers
Captured Test Fleet (CTF) drivers
Deployment Team that focuses on pre-production/production activities
Field Service Engineers (FSEs), typically at GM dealerships
The primary job responsibilities include:
Responsible for the entire life-cycle of the assigned domain, including requirements, system design, development, deployment, and maintenance of the Infotainment development tools
Deliver development tools by coding best in class embedded software using Embedded C with Keil IDE, C/C++, Java and QNX/Linux/Android expertise
Ability to work on and troubleshoot a variety of embedded hardware
Responsible for developing CAN/LIN/CAN FD and FSA protocol
Develop tools using Python and C#
Work with GM business leads and engineering specialists to identify, capture and refine system
requirements.
Ability to work with and bridge across multiple disciplines, including Engineering, Information Technology, Technical Support, and Marketing, to make appropriate system level design trades
Ensure clear and complete design level documentation
Facilitate direct employees, contracted resources or third-party companies to develop, integrate, and test software deliveries using embedded diagnostic and development tools.
Coordinate and participate in architecture, requirements, design, code, and test case reviews.
Work closely with other team leads to support triage and resolution of difficult system problems in a timely manner
Interact with internal customers, vendors and external organizations to refine understanding of requirements and identify innovation opportunities
Work with program management and Product Owners to define sprints and releases.
Qualifications:
Minimum bachelor's degree in Computer Science, Software Engineering, or related degree. Advanced degrees preferred.
Software application development experience in automotive and/or portable consumer electronic devices in embedded domain
Minimum of 5 years of software development experience in POSIX, QNX, or Linux OS and Android environments
Experience with using and managing agile software development process.
Commercial software development experience in C, C++, Java
Prior embedded systems development experience is required
Experience working on Python and C#
Hands on experience on Embedded C
Protocol level working experience on CAN/LIN/CAN FD and FSA
Hands on experience working on Linux and Android
Experience in developing and deploying products in global markets
System-wide triage experience
Demonstrated performance in a position requiring both high creativity and engineering technical excellence
Development of these tools will be performed by utilizing programming languages such as C, C++, C#, Java, Kotlin and Python on an Android platform.
You will have the opportunity to collaborate with teams from Autonomous, Electrification, and other cross-functional GM internal teams as well as Tier 1 and Tier 2 suppliers.
The engineering tools cover a full spectrum of capabilities and include:
Vehicle simulators
Development boards
Logging tools
Android App used to capture/send logs from the vehicle
The team you will join uses state-of-the-art disciplines and to software environments including the following:
Agile practices, including SCRUM
Paired programming
Test Driven Development (TDD)
Develop cutting edge solutions for manufacturing and dealership troubleshooting
Freedom to innovate and determine the team's roadmap
Team ownership of direction
Exploring vehicle level logging solutions that span outside of infotainment
Development tool chain includes Geritt, GIT, Jenkins and RTC.
Software is built in a continuous integration approach with a strong emphasis on quality
The tools developed by the Infotainment Development Tools Team are actively used by a broad user community including:
Infotainment software development/test engineers
Captured Test Fleet (CTF) drivers
Deployment Team that focuses on pre-production/production activities
Field Service Engineers (FSEs), typically at GM dealerships
The primary job responsibilities include:
Responsible for the entire life-cycle of the assigned domain, including requirements, system design, development, deployment, and maintenance of the Infotainment development tools
Deliver development tools by coding best in class embedded software using Embedded C with Keil IDE, C/C++, Java and QNX/Linux/Android expertise
Ability to work on and troubleshoot a variety of embedded hardware
Responsible for developing CAN/LIN/CAN FD and FSA protocol
Develop tools using Python and C#
Work with GM business leads and engineering specialists to identify, capture and refine system
requirements.
Ability to work with and bridge across multiple disciplines, including Engineering, Information Technology, Technical Support, and Marketing, to make appropriate system level design trades
Ensure clear and complete design level documentation
Facilitate direct employees, contracted resources or third-party companies to develop, integrate, and test software deliveries using embedded diagnostic and development tools.
Coordinate and participate in architecture, requirements, design, code, and test case reviews.
Work closely with other team leads to support triage and resolution of difficult system problems in a timely manner
Interact with internal customers, vendors and external organizations to refine understanding of requirements and identify innovation opportunities
Work with program management and Product Owners to define sprints and releases.
Qualifications:
Minimum bachelor's degree in Computer Science, Software Engineering, or related degree. Advanced degrees preferred.
Software application development experience in automotive and/or portable consumer electronic devices in embedded domain
Minimum of 5 years of software development experience in POSIX, QNX, or Linux OS and Android environments
Experience with using and managing agile software development process.
Commercial software development experience in C, C++, Java
Prior embedded systems development experience is required
Experience working on Python and C#
Hands on experience on Embedded C
Protocol level working experience on CAN/LIN/CAN FD and FSA
Hands on experience working on Linux and Android
Experience in developing and deploying products in global markets
System-wide triage experience
Demonstrated performance in a position requiring both high creativity and engineering technical excellence