Linux Device Driver Development Engineer

Capgemini Engineering

Bengaluru Urban

On-site

INR 900,000 - 1,300,000

Full time

6 days ago
Be an early applicant
Application generator

Turn this role into an interview — a resume and cover letter built around what this employer wants.

Get past ATS filters

Job summary

Capgemini Engineering is seeking an experienced Linux Device Driver Development Engineer to design, develop, debug, and maintain Linux platform software for embedded SoCs.

You will perform board bring-up, bootloader work, and low-level debugging using lab tools, collaborating with hardware and software teams in a fast-paced environment.

Qualifications

  • Proficient C programming for kernel and system-level development.
  • Strong knowledge of Linux kernel internals and device driver architecture.
  • Hands-on Linux Device Driver Development experience.
  • Experience with ARM and x86 processors and multi-core memory hierarchies.
  • Familiarity with Yocto or Buildroot for BSP projects.
  • Version control using Git; debugging with hardware tools.

Responsibilities

  • Design, develop, and maintain Linux device drivers and platform software for embedded SoCs.
  • Work on BSP and platform software development for custom hardware.
  • Perform board bring-up, bootloader configuration, and early kernel init.
  • Develop and validate Bare-Metal and Linux drivers with lab equipment.
  • Debug across bootloader, kernel, drivers, and hardware layers.
  • Collaborate with hardware, systems, and application teams.

Skills

C programming
Linux kernel internals
Linux Device Driver Development
ARM/x86 architectures
Multi-core architectures
Concurrency programming
OS concepts (Linux/RTOS)
Kernel debugging

Tools

Yocto
Buildroot
JTAG debugging
Git / GitHub
OpenGL/OpenCL (adv)

Job description

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 fast‑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.
  • Experience with:
  • 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.
  • 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
Get your free, confidential resume review.

or drag and drop your file here.

Similar jobs

Similar jobs worth comparing

Linux Device Driver Engineer
Linux Device Driver Engineer

Sequoia Applied Technologies • Bengaluru

On-site
INR 800,000 - 1,200,000
Linux Device Driver Engineer
Linux Device Driver Engineer

Sequoia Applied Technologies • India

On-site
INR 1,000,000 - 1,500,000
Device Driver Developer
Device Driver Developer

Sasken Technologies • Bengaluru

On-site
INR 1,200,000 - 2,100,000
Linux Developer
Linux Developer

Accolade Electronics Private Limited • Pune District

On-site
INR 800,000 - 1,200,000
LDD Developer
LDD Developer

Capgemini • Bengaluru

On-site
INR 1,200,000 - 1,600,000
Linux Device Driver Engineer
Linux Device Driver Engineer

Ignitarium • Pune District

On-site
INR 600,000 - 1,200,000
AM - Software Engineer
AM - Software Engineer

KOHLER India • Maharashtra

On-site
INR 4,000,000 - 6,000,000
Lead firmware developer
Lead firmware developer

KOHLER India • Maharashtra

On-site
INR 3,000,000 - 6,000,000
Linux BSP & Device Driver Engineer
Linux BSP & Device Driver Engineer

PQAngels Tech • Bengaluru

On-site
INR 2,500,000 - 4,500,000
Linux Middleware Engineer
Linux Middleware Engineer

Bajaj Auto Limited • India

On-site
INR 2,500,000 - 4,000,000