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).
General Motors is seeking a highly skilled and experienced professional to join our team as a Staff Software Engineer, Embedded Linux & Android Development . As a global leader in the automotive industry, General Motors is committed to delivering high-quality vehicles that exceed customer expectations. This role will be instrumental in the bring-up of next-generation automotive computing platforms, focusing on Android and Embedded Linux development, device drivers, low-level system integration, diagnostics, and health monitoring for our in-vehicle infotainment and embedded systems.
Job Responsibility
Develop and enhance Android & Embedded Linux kernel and device drivers, including those for camera sensors, display interfaces, multimedia subsystems, and networking (WLAN, LAN, BLE, BT5.0)
Lead system bring-up activities, including bootloader configuration, camera pipeline initialization, board support package (BSP) development, and low-level debugging
Integrate and optimize hardware components, including USB, PCIe, I2C-connected peripherals, and Ethernet interfaces to ensure seamless operation within our embedded software stack
Develop and implement diagnostics and health monitoring solutions, ensuring system reliability, predictive maintenance, and fault detection in critical automotive systems
Analyze and troubleshoot low-level system issues, particularly in camera interfaces (MIPI-CSI, ISP bring-up), high-speed data buses, and network connectivity
Support manufacturing and production processes, including hardware validation, firmware flashing, and end-of-line testing to ensure smooth integration of software into production vehicles
Work closely with hardware teams to validate and debug platform issues, ensuring optimal hardware-software interaction
Define Objectives and Key Results (OKRs) and work towards continuously improving software stability, performance, and maintainability
Requirements
Bachelor's degree in electrical engineering or a related field, or Work equivalent experience
8+ years of experience in Android, embedded Linux kernel development, device driver programming, and board bring-up
Expertise in Linux kernel internals, including memory management, scheduling, file systems, and IPC mechanisms
Experience in Android or other embedded device bring-up, such as cameras, displays, audio devices and network system
Strong experience with BSP development, bootloaders (e.g., U-Boot), and firmware integration
Deep knowledge of communication protocols such as USB, PCIe, I2C, SPI, and MIPI-CSI
Experience with Ethernet interfaces (WLAN, LAN) and network protocols (BLE, Bluetooth 5.0)
Proficiency in diagnostics, health monitoring, and fault detection for embedded systems
Familiarity with manufacturing and production support, including hardware validation, firmware flashing, and end-of-line testing