Firmware Developer

About the Role:

We are looking for a Firmware Developer to join our R&D team in the development of embedded software related to high-speed image and signal processing for use in our advanced medical and AR/VR tracking systems. As a member of a dynamic, cross-functional team of engineers, you will be responsible for design, development, integration, and release of real-time embedded control firmware, processing algorithms, drivers and communication protocols that power NDI’s advanced measurement and motion tracking systems.

What You’ll Be Doing:

  • Actively participate in discussions that drive product level design decisions with the development team including advanced research, hardware, and mechanical engineers.  Explore opportunities to optimize product metrics and enhance system level performance.
  • Design and develop embedded software to NDI’s internal software development standards
  • Integrate embedded software with FPGAs and the target hardware
  • Integrate embedded system with the related host-side drivers and applications
  • Ensure completion is timely, striving to meet or exceed project milestones

What You’ll Bring to the Role:

  • Bachelor’s degree in Electrical or Computer Engineering, Computer Science or equivalent
  • 5+ years of recent hands-on experience coding and software design
  • Proficient in C/C++, object-oriented code and developing multithreaded applications
  • Experience with commercial RTOS packages and/or embedded Linux
  • Experience with FPGA design would be an asset
  • Hands-on experience with tools such as oscilloscopes and logic analyzers
  • Strong problem solving and organization skills
  • Ability to communicate well both in writing and orally

Desired Characteristics/Additional Assets:

  • Experience with ARM-based SOC processors and development tools
  • Experience working with FPGAs and/or ASICs
  • A working understanding of SPORT, I2C, and SPI communication channels, as well as DMAs and high-speed data acquisition
  • Experience with Board Support Packages

How to Apply:

It all starts with your online application.  Please upload your resume and cover letter (optional) as a Word or PDF file.

About NDI:

Every day, new applications for NDI technology in medicine and research reach new places in the world. Currently, we have over 45,000 measurement systems installed worldwide, helping people in more than 35 countries.  The key to our success is our people! With employees in four offices across the globe, our teams work collaboratively to innovate and continue our tradition of providing industry leading products for our customers and partners.  Check us out at

Accessibility at NDI:

We’re committed to minimizing barriers to persons with disabilities and will endeavour to align our policies, practices, procedures and services with core principles of independence and dignity, integration and equal opportunity.  Any individual who requires assistance may contact us toll free via telephone (877-634-6340) and/or via email at