General Motors is looking to solve the problem of designing and implementing technical solutions for in-vehicle infotainment software platform middleware to deliver high-quality software for future automotive Infotainment systems
Requirements
- 5+ years in Software Development on Linux and/or Android
- Advanced programming and debugging skills with C, modern C++/11/14, Java, and unit test framework
- Development tools and IDE such as VS Code, Android Studio, git, JIRA, CMake, gradle, gcov, SonarQube, etc
- Understanding of Linux System programming Concepts such as IPC, threads, services, etc
- Working knowledge with security concepts such as crypto libraries, encryption technology, PKI, OpenSSL libraries, and TEE
- Familiar with Android Open Source Platform and comfortable with making system extensions and modifications
- Knowledge of RUST programming
Responsibilities
- Design, implement and integrate Linux and Android security middleware components for infotainment software platform in GM vehicles
- Responsible for the entire life cycle of the security domain, including requirements analysis, creating design documents, code development and review, integration, and maintenance of infotainment software
- Work side-by-side with DevQA engineers on test plan development and review
- Follow software development process where quality comes first and ensure that the designed solutions conform to architectural requirements such as scalability, maintainability, reliability, extensibility, testability, usability and security
- Collaborate with cross-functional teams and external suppliers on design and integration activities
- Design and implement technical solutions for in-vehicle infotainment software platform middleware
- Navigate and debug through complex existing code base in C, C++ and Java
Other
- Bachelor's degree in computer science, software engineering, or related degree
- Hybrid role requires reporting to Mountain View, CA three times per week, at minimum
- Ability to work in a team environment and collaborate with cross-functional teams
- Must be able to navigate and debug through complex existing code base
- Must be willing to apply for and maintain any necessary security clearances