HamburgerMenu
hirist

Job Description

Description :


We are seeking a highly experienced software engineer to lead the design, development, and optimization of low-level software infrastructure for complex System-on-Chip (SoC) platforms. This role focuses on Linux kernel, device drivers, bootloaders, board support packages (BSP), and embedded firmware to enable cutting-edge hardware across multiple product lines. The ideal candidate will have 10+ years of experience in embedded systems, deep understanding of SoC architecture, and a proven track record of delivering robust and performant low-level software.

Key Responsibilities :


- Architect and develop SoC software infrastructure including bootloaders, kernel bring-up, and board support packages.

- Design, implement, and maintain Linux kernel drivers for peripherals such as IC, SPI, UART, PCIe, USB, networking, multimedia, and camera subsystems.

- Lead SoC bring-up on new hardware platforms from first silicon to mass production.

- Collaborate with hardware, FPGA, and ASIC teams to define hardware/software interfaces.

- Develop low-level firmware (secure monitor, power management firmware, DSP/Microcontroller firmware) as needed for SoC components.

- Optimize system performance, memory footprint, and power efficiency for embedded Linux environments.

- Integrate and validate IP blocks into the SoC software stack.

- Create and maintain automated test and CI pipelines for low-level software.

- Debug complex hardware/software interaction issues using oscilloscopes, logic analyzers, JTAG, and kernel trace tools.

- Mentor junior engineers and guide software architecture decisions.

- Work with product and manufacturing teams to ensure software readiness for production.

Required Qualifications :


- 10+ years professional experience in embedded software development for Linux-based SoCs.

- Strong expertise in :

1. Linux kernel internals and driver development.

2. Bootloaders (U-Boot, Coreboot, or similar).

3. Board Support Package (BSP) design.

4. Device Tree configuration and customization.

- Proficient in C/C++ for low-level system programming; scripting (Python, Bash) for tooling.

- Deep understanding of SoC architectures (ARM, RISC-V, or similar), Qualcomm, Intel, memory subsystems, and peripheral interfaces.

- Hands-on experience with hardware bring-up and lab debugging tools.

- Familiarity with power management frameworks and low-power design.

- Experience with secure boot and trusted execution environments (TEE, OP-TEE, ARM TrustZone).

- Strong problem-solving skills with ability to lead technical investigations from silicon anomalies to kernel race conditions.

Preferred Qualifications :

- Experience with multimedia subsystems (GPU, ISP, camera pipelines).

- Knowledge of virtualization on embedded platforms (KVM, Xen).

- Familiarity with real-time operating systems (RTOS) alongside Linux.

- Experience contributing to upstream Linux kernel projects.

- Exposure to Yocto Project or Buildroot and or Qualcomm build system for embedded Linux distributions.

- Background in safety-critical or security-certified software (ISO 26262, IEC 61508, Common Criteria).

Core Competencies / Skills :

- Linux Kernel & BSP : Device drivers (char, block, net, misc), platform drivers, device tree, clock framework, regulator, thermal

- SoC Infrastructure : Power domains, interconnect, memory controller, bus fabrics (AMBA, AXI, APB)

- Firmware & Boot : U-Boot, ARM Trusted Firmware (ATF), secure boot

- Debug & Profiling : JTAG, Lauterbach, ftrace, perf, kgdb

- Languages : C, Python (automation), Shell scripting

- Tools : Git, Gerrit, Buildroot, Yocto

- Standards & Interfaces : IC, SPI, UART, PCIe, USB, Ethernet

Soft Skills :


- Excellent communication and cross-functional collaboration.

- Leadership in technical decision-making.

- Ability to translate complex hardware/software constraints into practical solutions.

- Mentorship and technical coaching for junior engineers.


info-icon

Did you find something suspicious?