Staff Software Engineer, Embedded Radio Software and Connectivity
General Motors10 months ago
Austin, TX, United States
Hybrid
Full-time
Junior Level (1-3 years)
Job Description
Position Overview
This is a hybrid role based in Austin, TX – the successful candidate is expected to report on-site at least three times per week. General Motors, a global leader in the automotive industry, is seeking a highly skilled Staff Software Engineer, Embedded Radio Software and Connectivity. The role is 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 in-vehicle infotainment and embedded radio systems.
Key Responsibilities
- Develop and enhance Linux kernel and device drivers, including 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 such as USB, PCIe, I2C-connected peripherals, and Ethernet interfaces.
- Develop and implement diagnostics and health monitoring solutions to ensure system reliability, predictive maintenance, and fault detection.
- Analyze and troubleshoot low-level system issues in high-speed data buses and network connectivity.
- Support manufacturing and production processes, including hardware validation, firmware flashing, and end-of-line testing.
- Collaborate with hardware teams to validate and debug platform issues, ensuring optimal hardware-software interaction.
- Define Objectives and Key Results (OKRs) to continuously improve software stability, performance, and maintainability.
Required Qualifications
- Bachelor's degree in electrical engineering or a related field; advanced degree preferred.
- 8+ years of experience in embedded Linux kernel development, device driver programming, and board bring-up.
- Experience with bringing up connected systems such as BLE and UWB.
- Strong experience with BSP development, bootloaders (e.g., U-Boot), and custom boot policies with firmware integration.
- Deep knowledge of communication protocols including UART, PCIe, I2C, SPI, CAN, and Ethernet.
- Experience with Ethernet interfaces (WLAN, LAN), network protocols, and peripheral device integration (GNSS, RTC).
- Expertise in embedded RTOS internals (Linux, QNX, FreeRTOS, OSEX, etc.), including memory management, scheduling, file systems, and IPC.
- Proficiency in diagnostics, health monitoring, and fault detection for embedded systems.
- Familiarity with manufacturing support 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 ability to analyze and resolve complex system issues.
- Excellent communication skills with the ability to work effectively in cross-functional teams.
Benefits & Perks
- Health & Wellbeing: Includes medical, dental, vision, Health Savings Account, and Flexible Spending Accounts.
- Retirement & Insurance: Offers retirement savings plans, sickness and accident benefits, and life insurance.
- Paid Time Off: Includes paid vacation, holidays, tuition assistance programs, and an employee assistance program.
- Additional Perks: GM vehicle discounts, eligibility for relocation benefits, and participation in a company vehicle evaluation program (subject to program requirements).
Required Skills
Diagnostics and Health Monitoring
System Integration
Communication Protocols (UART, PCIe, I2C, SPI, CAN, Ethernet)
BSP Development
Embedded RTOS (Linux, QNX, FreeRTOS, etc.)
Manufacturing and Production Support
Cross-functional Team Collaboration
Embedded Linux Kernel Development
Low-Level Debugging (JTAG, GDB, ftrace, kdump, perf)
SoC Architectures (NXP, Qualcomm)
Bootloader Configuration (e.g., U-Boot)
Board Bring-up
Device Driver Programming