Software Designer, USB Specialist
The role involves designing, developing, and maintaining Linux drivers, specifically for USB devices like UAC, UVC, and USB Gadget, while ensuring code quality and stability through testing and optimization. Responsibilities also include developing client applications for feature validation and collaborating across teams to resolve system anomalies.
- On-site
- Dorval, QC
- Posted Mar 3, 2026
- 1 position
More jobs you can apply to directly
Similar opportunities posted by employers hiring on Jobs.ca, with no external application form.
Job summary
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).
What you’ll do
The role involves designing, developing, and maintaining Linux drivers, specifically for USB devices like UAC, UVC, and USB Gadget, while ensuring code quality and stability through testing and optimization. Responsibilities also include developing client applications for feature validation and collaborating across teams to resolve system anomalies.
Requirements
Candidates must possess an undergraduate degree in Computer Engineering, Electrical Engineering (Computer Science option), or Computer Science, along with over five years of hands-on experience developing around the USB protocol, including specific driver types. A strong understanding of computer architecture, the Linux operating system, and excellent debugging skills are essential.
Other relevant skills
Identified from the job description. Confirm important requirements above.
- Linux Drivers
- USB Protocol
- UAC
- UVC
- USB Gadget
- Driver Development
- Code Maintenance
- Optimization
- Unit Testing
- Integration Testing
- Client Applications
- System Debugging
- Root Cause Analysis
- Git
- Bitbucket
- JIRA
Job areas
- Engineering
- Software
Additional details
- Minimum education
- Bachelor’s degree
- Minimum experience
- 5+ years
- Posting language
- English
- Working hours
- 40 hours per week
