Hybrid: This role is categorized as hybrid. This means the successful candidate is expected to report to Austin, TX three times per week, at minimum.
The Role
General Motors is seeking a highly skilled and experienced professional to join our team as a Senior Software Engineer, Embedded Radio Software and Connectivity . 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 Linux kernel development, radio and connectivity protocols, low-level system integration, diagnostics, and health monitoring for our in-vehicle infotainment and embedded radio systems.
What You’ll Do
- Develop and enhance Linux kernel and device drivers, including those for multimedia subsystems and networking (WLAN, LAN, BLE, BT5.0).
- Lead system bring-up activities, including bootloader configuration, 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 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.
Additional Description
Your Skills & Abilities (Required Qualifications)
- Bachelor’s degree in electrical engineering or a related field. Advanced degree preferred.
- 3+ years of experience in embedded Linux kernel development, device driver programming, and board bring-up.
- Experience in working with different connected system bring-up like BLE, UWB.
- Strong experience with BSP development, bootloaders (e.g., U-Boot), custom boot policies and firmware integration.
- Deep knowledge of communication protocols such as UART, PCIe, I2C, SPI, CAN, Ethernet.
- Experience with Ethernet interfaces (WLAN, LAN), network protocols, and peripheral devices (GNSS, RTC).
- Expertise in embedded RTOS (Linux, QNX, FreeRTOS, OSEX, etc.) kernel internals, including memory management, scheduling, file systems, and IPC mechanisms.
- Proficiency in diagnostics, health monitoring, and fault detection for embedded systems.
- Familiarity with manufacturing and production support and diagnostics, including hardware validation, firmware flashing, and end-of-line testing.
- Proficiency in low-level debugging tools (e.g., JTAG, GDB, ftrace, kdump, perf).
- Experience with SoC architectures (NXP, Qualcomm) and hardware interaction at the register level.
- 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.