Weekday AI

Linux Device Driver

Weekday AI Hyderabad, Telangana, India Today
engineering

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.

Sponsored

Explore Engineering

People also search for