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 current 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).