Linux Device Driver
Weekday AI
Posted: January 13, 2026
Interested in this position?
Create a free account to apply with AI-powered matching
Quick Summary
Design, develop, and maintain Linux kernel device drivers for embedded and hardware-integrated systems, working closely with hardware, firmware, and system software teams to enable reliable, high-performance interaction between the operating system and underlying hardware components.
Required Skills
Job Description
This role is for one of the Weekday's clients
Min Experience: 3 years
Location: Hyderabad
JobType: full-time
We are looking for a skilled and motivated Linux Device Driver Engineer with 3–6 years of hands-on experience to join our engineering team. In this role, you will be responsible for designing, developing, debugging, and maintaining Linux kernel device drivers for embedded and hardware-integrated systems. You will work closely with hardware, firmware, and system software teams to enable reliable, high-performance interaction between the operating system and underlying hardware components.
This role is ideal for engineers who have a strong understanding of Linux internals, kernel programming, and low-level system design, and who enjoy solving complex hardware–software integration challenges.
Requirements:
Key Responsibilities
• Design, develop, and maintain Linux kernel device drivers for various hardware components such as I2C, SPI, UART, PCIe, USB, GPIO, and platform devices.
• Work extensively with Linux kernel internals, including kernel modules, memory management, interrupts, DMA, and synchronization mechanisms.
• Port, customize, and optimize device drivers across different Linux kernel versions.
• Debug and resolve complex kernel-level issues using tools such as gdb, ftrace, perf, crash, printk, and strace.
• Collaborate with hardware teams to understand datasheets, schematics, and reference designs, ensuring accurate hardware bring-up and driver integration.
• Support board bring-up activities, including bootloader interaction and kernel configuration.
• Optimize driver performance, power management, and reliability for embedded and high-performance systems.
• Ensure compliance with Linux kernel coding standards and contribute to clean, maintainable, and well-documented code.
• Participate in code reviews, design discussions, and technical documentation.
• Assist in system-level debugging involving kernel, drivers, and user-space interactions.
• Contribute to continuous improvement of development processes, testing strategies, and automation.
Required Skills & Qualifications
• 3–6 years of hands-on experience in Linux device driver development.
• Strong proficiency in C programming and familiarity with kernel-level coding practices.
• In-depth knowledge of Linux kernel architecture, kernel modules, system calls, and device models.
• Experience with common driver frameworks such as character, block, and network drivers.
• Solid understanding of hardware interfaces and protocols including I2C, SPI, UART, PCIe, USB, and GPIO.
• Experience working with interrupt handling, memory-mapped I/O, DMA, and power management.
• Familiarity with embedded Linux build systems such as Yocto or Buildroot.
• Experience with version control systems (Git) and collaborative development workflows.
Preferred Qualifications
• Experience with ARM or x86-based embedded platforms.
• Exposure to RTOS or real-time Linux concepts.
• Prior experience contributing to upstream Linux kernel or open-source projects.
• Knowledge of bootloaders such as U-Boot.