Staff Software Engineer, Linux Kernel & Driver Development
Role details
Job location
Tech stack
Job description
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 [or other frequency dictated by the business if more than 3 days ]., · Develop and enhance 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.
· Contribute to upstream Linux kernel development and work with open-source communities where applicable.
· 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 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 camera bring-up, including MIPI-CSI, ISP tuning, V4L2 framework, and image processing pipelines.
· 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).
· Experience with SoC architectures and hardware interaction at the register level.
· 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.
Preferred 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.
· Expertise in Linux kernel internals, including memory management, scheduling, file systems, and IPC mechanisms.
· Experience in camera bring-up, including MIPI-CSI, ISP tuning, V4L2 framework, and image processing pipelines.
· 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).
· Experience with SoC architectures and hardware interaction at the register level.
· 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.