Staff Software Engineer, Embedded Linux & Android
Role details
Job location
Tech stack
Job description
Work arrangement: On-Site: This role is categorized as on-site. This means the successful candidate is expected to report to Austin, TX five days per week., 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., * 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.
- Proficiency in low-level debugging tools (e.g., JTAG, GDB, ftrace, kdump, perf).
- Knowledge of power management techniques, security frameworks, and real-time optimizations in Linux-based systems.
- Strong problem-solving skills and the ability to analyze complex system issues across software and hardware domains.
- Excellent communication skills with the ability to work effectively in cross-functional teams.
Company Vehicle: Upon successful completion of a motor vehicle report review, you will be eligible to participate in a company vehicle evaluation program, through which you will be assigned a General Motors vehicle to drive and evaluate. Note: program participants are required to purchase/lease a qualifying GM vehicle every four years unless one of a limited number of exceptions applies.