Staff Software Engineer – Embedded Radio Software and Connectivity
Company | General Motors |
---|---|
Location | Austin, TX, USA |
Salary | $Not Provided – $Not Provided |
Type | Full-Time |
Degrees | Bachelor’s |
Experience Level | Senior, Expert or higher |
Requirements
- 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 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.
Responsibilities
- 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.
Preferred Qualifications
-
No preferred qualifications provided.