Senior Software Developer - Drivers and Diagnostics

Calgary, Alberta, Canada | Full-time | Partially remote


Purpose of the position

In this role, you will be responsible for collaborating with a number of cross-functional and global teams to create software drivers that bring SMART hardware and SMART software to an integrated and feature-rich experience.


  • Design, develop, document, and debug software for new features to integrate the latest SMART hardware with SMART application software. Most programming will be Java, C++ on Android and native code for Windows, Mac.
  • Work together with the drivers team using Agile/Scrum development processes. Be a part of larger hardware project teams as the software driver lead developer. Report status, accomplishments, next steps and issues.
  • Maintain and support existing drivers, may also require porting current codebase to newer Android versions.
  • Expected to study USB protocol specifications and be able to develop software for USB devices.
  • Ability and desire to learn new platforms and technologies.
  • Ability to collaborate with global cross functional teams, including 3rd party development teams.

Education and Work Experience

  • A University degree in computer science, software engineering, computer engineering or equivalent
  • Excellent communication and teamwork skills
  • Development experience with Java, C++, and core APIs of Android, Windows, and Mac OS X platforms. A major asset would be experience in AOSP/BSP/Kernel on Android, kernel mode Windows driver development experience, or Mac kernel extension.
  • Thorough understanding of Scrum Agile development methodologies
  • Knowledge and experience with design principles such as design patterns, interfaces, and object oriented programming
  • Experience with cross-platform development on Android, Windows, and Mac OS X platforms.
  • Experience working with continuous integration or deployment an asset.

Working Conditions

  • Collaborative, fast-paced work environment
  • Occasional travel may be required


SMART Technologies, privacy is not an afterthought to us. Privacy is at the core of our software design. The result is that privacy is an essential component at the core of our business. To read more about our specific policies, please follow the links below. For more information please review: