Job Title : I / O Devices, IPC Software ArchitectWe 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 ResponsibilitiesArchitect, 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 & Experience12–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 QualificationsHands-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).EducationBachelor’s or Master’s degree in Computer Engineering, Electrical / Electronics Engineering, or related field.
Software Architect • Bengaluru, Karnataka, India