27 Sep
|
Capgemini Engineering
|
Bengaluru
27 Sep
Capgemini Engineering
Bengaluru
Location Bangalore, India Work Mode Work From Office – 5 Days a Week Face-to-Face (F2F) Interview is Mandatory Job Summary We are looking for an experienced
Linux Device Driver Development Engineer with strong expertise in embedded systems, Linux kernel internals, and hardware-software integration. The candidate will be responsible for developing, customizing, debugging, and maintaining Linux platform software and device drivers for custom hardware based on embedded SoCs. This role requires hands-on board bring-up, low-level debugging, and close collaboration with hardware, systems, and application teams in a quick-paced environment.
Key Responsibilities Design, develop, customize, and maintain
Linux device drivers and platform software for embedded SoC–based systems. Work on
BSP and platform software development for custom hardware platforms. Perform board bring-up activities , including bootloader configuration and early kernel initialization. Develop and validate
Bare-Metal and Linux drivers , performing hardware-software validation using lab equipment such as oscilloscopes, logic analyzers, and JTAG-based debuggers . Drive bootloader development/customization
(U-Boot or equivalent), including power-on boot sequence and low-level initialization. Debug complex system-level issues across bootloader, kernel, drivers, and hardware layers . Understand and interpret board schematics, datasheets, and hardware reference manuals to support driver development and integration. Work on kernel upgrades, driver porting, upstreaming, and component integration . Develop and customize drivers for peripherals such as
GPIO, SPI, I2C, UART, Sensors, NAND, NOR, eMMC, DDR , etc. Contribute to
Linux kernel subsystems , including scheduler, memory management, IPC, DMA, IOMMU, interrupt handling, polling mechanisms, and NAPI. Develop and debug
Linux platform drivers for components such as
PCIe, Ethernet, USB, GPU, Display, and Multimedia subsystems . Handle system-level debugging , issue isolation,
and root-cause analysis involving kernel crashes, performance bottlenecks, and hardware-related failures. Collaborate closely with cross-functional teams to ensure seamless hardware–software integration . Produce high-quality, maintainable, and well-documented code following best practices. Required Skills & Qualifications Core Technical Skills Strong proficiency in
C programming for kernel and system-level development. In-depth knowledge of
Linux kernel internals and device driver architecture. Hands-on experience with
Linux Device Driver Development . Strong understanding of
ARM and x86 processor architectures . Deep knowledge of multi-core architectures, NUMA, and memory hierarchies . Experience with concurrent programming , threading APIs, and synchronization mechanisms. Strong understanding of operating system concepts
(Linux and/or RTOS). Embedded & Hardware Expertise Experience working with embedded SoCs and Microcontrollers . Hands-on board bring-up experience with custom hardware . Strong debugging skills using
JTAG/J-Link and other hardware debuggers . Ability to validate software using hardware test equipment . Kernel & System Knowledge Experience with: Linux kernel modules Interrupt architecture and event handling DMA, IOMMU, IPC mechanisms PCIe subsystem and drivers Networking and Ethernet stack Familiarity with
Yocto-based projects or Buildroot . Experience in kernel upgradation, driver porting, and upstreaming . Desired / Added Advantages Hands-on experience with
OpenGL and OpenCL . Exposure to
GPU, Multimedia, and Display driver development . Experience in system performance tuning and optimization . Familiarity with
RTOS environments in addition to Linux. Tools & Development Environment Debuggers and profiling tools Version control systems such as
Git / GitHub Linux kernel debugging and tracing tools Soft Skills Strong problem-solving and analytical skills Excellent communication and collaboration abilities Ability to work independently and in a fast-paced, team-oriented environment High attention to detail and commitment to code quality
📌 Linux Device Driver Development Engineer (Bengaluru)
🏢 Capgemini Engineering
📍 Bengaluru