About the Role :
We are looking for a highly skilled Linux Device Driver Developer to join our engineering team in Hyderabad. The ideal candidate should have strong hands-on experience in C programming, embedded systems, and Linux kernel / device driver development. The role involves working on complex low-level software components, performance optimization, and debugging across user and kernel space.
Key Responsibilities :
- Design, develop, and maintain Linux device drivers for PCIe, multimedia, and related subsystems.
- Work on Linux application programming and integration with kernel-level modules.
- Perform low-level debugging, tracing, and performance tuning across kernel and user space.
- Collaborate closely with firmware, hardware, and software teams to enable seamless hardware-software integration.
- Analyze hardware specifications and translate them into robust software implementations.
- Participate in code reviews, documentation, and kernel community discussions where applicable.
- Work on memory management (MMU), cache policies, and DMA framework optimization.
Required Skills & Experience :
3+ years of hands-on experience in Linux kernel and device driver development.Strong proficiency in C programming and embedded systems concepts.Experience with Linux application development and integration.Solid understanding of MMU, cache policies, and low-level hardware-software interaction.Excellent debugging and problem-solving skills, with exposure to tools like gdb, ftrace, strace, perf, or similar.Working knowledge of Multimedia, PCIe, Ethernet, TCP / IP, I2C protocols, and DMA framework is a strong plus.Familiarity with version control systems (Git) and collaborative development workflows.Preferred Qualifications :
Bachelors or Masters degree in Computer Science, Electronics, Electrical Engineering, or related fields (BE / B.Tech / M.Tech).Prior experience in product development or driver enablement for SoCs (System-on-Chips).Exposure to open-source contributions or Linux upstream development.Strong understanding of system performance, memory footprint, and hardware debugging tools (like JTAG / trace32).(ref : hirist.tech)