Software Designer, USB Specialist
- Dorval, QC, Canada
Full-time
Applications open in a new tab.
Job details
- Job type
- Full-time
- Experience
- 5+ years of hands-on experience developing around the USB protocol, including UAC, UVC, and USB Gadget drivers.
- Posting language
- English
- Posted
Original job description
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).
More about this job
Responsibilities
The Software Designer at Matrox will design, build and maintain Linux drivers for USB devices. The role also tests the code, improves existing software, and works with other teams to find and fix problems.
Requirements
Candidates need an undergraduate degree in computer or electrical engineering or computer science, plus 5+ years of hands-on USB driver work. Matrox expects a solid knowledge of Linux and computer architecture and strong debugging skills.
Skills
- Linux device drivers
- USB protocol
- USB Audio Class (UAC)
- USB Video Class (UVC)
- USB Gadget drivers
- Linux kernel
- Linux user space
- computer architecture
- C
- unit testing
- integration testing
- system debugging
- root cause analysis
- Git
- Bitbucket
- JIRA
- driver maintenance and optimization
- cross-team collaboration
Categories
- Technology
- Software
- Engineering
Keywords
- USB driver development
- Linux kernel
- Linux device drivers
- USB Audio Class
- UAC
- USB Video Class
- UVC
- USB Gadget
- embedded software
- C programming
- Git
- Bitbucket
- JIRA
- unit testing
- integration testing
- root cause analysis
- firmware
- software engineer
- embedded Linux
Seniority
Senior
Tools
- Git
- Bitbucket
- JIRA
- Linux
Languages
- English
Fields of study
- Computer Engineering
- Electrical Engineering (Computer Science option)
- Computer Science