Posted on: 20/10/2025
Role Overview :
We are seeking highly skilled USB Stack Developers and Linux Driver Developers with expertise in x86 architectures. The ideal candidate will bring hands-on experience in USB software stack development, Linux kernel/driver programming, and OS internals. This role demands strong problem-solving, design, and debugging skills with the ability to deliver efficient, high-quality system software.
Key Roles & Responsibilities :
USB Stack Developer :
- Design, develop, and maintain USB software stack components.
- Review, enhance, and optimize USB architectures for performance, scalability, and compliance.
- Work on USB protocols, descriptors, transfers, and class drivers.
- Debug and resolve issues in USB connectivity, data transfer, and power management.
- Collaborate with hardware, firmware, and QA teams for end-to-end USB solution delivery.
Linux Driver Developer (x86 Architectures) :
- Develop, port, and optimize Linux kernel drivers for x86-based systems.
- Work on OS concepts including scheduling, services, OS-Boot, and runtime services.
- Debug and troubleshoot low-level system issues related to kernel, drivers, and hardware interactions.
- Contribute to kernel upstreaming and patch development where applicable.
- Perform code reviews, architectural reviews, and documentation for driver modules.
General Responsibilities :
- Ensure compliance with industry standards and best practices in driver development.
- Collaborate with cross-functional teams (hardware, embedded, systems engineers).
- Participate in design reviews, testing strategies, and performance benchmarking.
- Provide technical guidance and mentorship for junior engineers when needed.
Required Skills & Experience :
- Bachelors/Masters degree in Computer Science, Electronics, or related discipline.
- 2+ years of proven experience in USB stack development (mandatory).
- Hands-on expertise in Linux kernel/driver development with x86 focus.
- Strong C/C++ programming skills for system-level software.
- Experience in designing and reviewing USB architectures.
- Knowledge of Linux internals scheduling, services, memory management, boot process, and runtime services.
- Strong debugging skills using tools like GDB, JTAG, KGDB, perf, strace, ftrace.
- Familiarity with build systems (Make, CMake, Yocto) and version control (Git).
Preferred Skills (Good to Have) :
- Exposure to USB 2.0/3.x protocols and compliance testing tools.
- Understanding of PCIe, networking, and storage drivers.
- Contributions to Linux kernel community or open-source driver projects.
- Knowledge of performance tuning and security aspects in driver development.
- Familiarity with virtualization (KVM, QEMU, Docker) and cross-compilation.
Did you find something suspicious?
Posted By
Posted in
Semiconductor/VLSI/EDA
Functional Area
Embedded / Kernel Development
Job Code
1562460
Interview Questions for you
View All