Responsibilities
• Design, develop, and maintain Linux drivers, particularly for USB devices (UAC, UVC, USB Gadget);
• Ensure the quality, stability, and performance of existing code through maintenance and optimization activities.
• Write and execute unit and integration tests to ensure the reliability of developed features.
• Develop client applications to demonstrate and validate new driver features.
• Collaborate closely with hardware, software, and validation teams to identify, analyze, and correct system anomalies.
Qualifications
• Undergraduate degree in Computer Engineering, Electrical Engineering (Computer Science option), or Computer Science.
• 5+ years of hands-on experience developing around the USB protocol, including UAC, UVC, and USB Gadget drivers.
• Solid understanding of computer architecture and the Linux operating system (kernel, user space, USB device management).
• Excellent system debugging and root cause analysis skills.
• Experience with code and project management tools such as Git, Bitbucket, and JIRA (an asset).