Job Title : I / O Devices, IPC Software Architect
We are seeking a Principal Engineer in I / O Device Drivers and System Software with 12–15 years of hands-on experience in developing, debugging, and optimizing low-level drivers, high-performance inter-processor communication (IPC) frameworks, and storage / networking subsystems. This role requires deep knowledge of Linux kernel internals, IPC mechanisms, PCIe, Ethernet, CAN, SR-IOV virtualization, and storage interfaces, with strong expertise in automotive-grade and edge system software. The ideal candidate will provide technical leadership, work closely with cross-functional teams including silicon and hardware architects, and mentor junior engineers while driving end-to-end system solutions.
Key Responsibilities
- Architect, design, and implement Linux kernel drivers and BSP components for I / O subsystems including PCIe, Ethernet, CAN, USB, and storage (NVMe, SAS / SATA, eMMC, UFS).
- Design, implement, and optimize high-throughput, low-latency IPC mechanisms (shared memory, mailbox, RPMsg, virtio, sockets) across heterogeneous compute subsystems (CPU, DSP, accelerators).
- Enable SR-IOV, virtualization, and multi-function device drivers for scalable and secure I / O virtualization.
- Architect cross-processor communication frameworks for real-time and safety-critical automotive / edge applications.
- Design and optimize I / O and storage drivers for deterministic performance, QoS, and real-time guarantees.
- Perform Linux kernel debugging (crash dumps, ftrace, perf, kgdb, stack traces) to resolve complex issues spanning firmware, kernel, and hardware.
- Drive silicon bring-up, IPC framework validation, and driver–firmware integration for I / O and compute subsystems.
- Work across silicon design, hardware, architecture, and system software teams to define IPC / I / O requirements, architect solutions, and ensure timely deliverables.
- Collaborate with automotive system architects, hardware, and silicon teams to ensure compliance with functional safety and reliability requirements.
- Mentor and guide junior engineers, conduct design / code reviews, and lead critical debug and system integration task forces.
- Contribute to Linux kernel community discussions and open-source integration in IPC, networking, storage, or PCIe domains.
Required Skills & Experience
12–15 years of embedded / Linux system software development with a focus on device drivers, IPC frameworks, and kernel subsystems.Expertise in :IPC frameworks : shared memory drivers, mailboxes, RPMsg, virtio, sockets, inter-VM communication.PCIe subsystem (enumeration, error handling, hot-plug, peer-to-peer, SR-IOV, ATS / PRI).Networking drivers : Ethernet, TSN (Time-Sensitive Networking)Automotive networking : CAN / CAN-FD, LIN, diagnostics (UDS / DoIP), AUTOSAR integration.Storage drivers : NVMe, eMMC.Strong knowledge of Linux kernel internals : interrupts, DMA engines, memory management, caching, synchronization primitives, and virtualization.Proficiency in C / C++ and scripting languages (Python, Shell) for automation and validation.Excellent Linux kernel debugging skillsFamiliar to functional safety and reliability standards (ISO 26262, ASIL levels).Proven ability to lead cross-functional teams (silicon, hardware, software, validation) and drive cross-layer debug strategies for IPC / I / O subsystems.Preferred Qualifications
Hands-on experience with virtualization technologies (KVM, Xen, QEMU, SR-IOV device assignment).Experience with real-time operating systems (RTOS) and deterministic Linux (PREEMPT-RT).Familiarity with heterogeneous computing platforms (CPU + accelerators + VPU / DSP + storage offload).Education
Bachelor’s or Master’s degree in Computer Engineering, Electrical / Electronics Engineering, or related field.