USB Software Developer

Information Technology   |   Calgary, AB

Job Description

Information Technology
Calgary, AB
  • Work as part of our Device Interface API / SDK team designing and implementing a USB host software interface to our audio devices and firmware
  • Design, document and implement software to achieve architectural and functional requirements, along with performance and quality metrics. This will include unit tests and test applications to assure API / SDK functionality and quality is being achieved
  • Work with the firmware, software, and project teams to recommend solutions complementing our client’s software product suite, addressing customer and market requirements
  • Establish a development strategy based on overall system architecture and deliverable
  • Assemble schedules and budgets for development activities
  • Create and maintain design documentation
  • Work with our New Products Introduction team to design and develop manufacturing test tools to verify system performance and quality
  • Support and contribute to our clients evolving end-to-end product development processes by applying relevant best practices to ensure consistent delivery of quality products
  • Maintain a comprehensive awareness of the technology landscape and identify opportunities for future product portfolio enhancements

USB Host Software Developer - Mandatory Skills

  • A Bachelor’s degree in Computer Science or a related discipline
  • 5+ years’ experience in USB host software development using C++ or C# programming languages
  • Experience implementing USB 2.0 / 3.0 protocols; USB HID and Audio 1.0 / 2.0 knowledge will be considered an asset
  • Experience with host / device or client / server type interfaces; delivery of APIs or SDKs will be considered an asset
  • A proven ability to design and debug microcontroller and DSP-based embedded products
  • Experience delivering Windows device drivers will be considered an asset
  • Experience with typical software development tools, including IDEs, configuration management tools, debugging tools
  • Good verbal and written communication skills
  • Proven interpersonal and communications skills in a team-oriented, collaborative environment