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 .
Apply for this Position
Ready to join ? Click the button below to submit your application.
Submit Application