Software Developer

When the world’s top equipment manufacturers and research institutes need to track something, they call NDI. Why? Because no one can beat the accuracy, precision, and reliability of our 3D measurement and motion tracking solutions. For over 35 years we’ve helped our customers in medicine, manufacturing, and academia bring optical and electromagnetic tracking technologies to image-guided surgery, automotive assembly, surgical simulation, neuroscience research, and so much more.

Although our technology has helped pioneer many industry firsts, we’re not content to rest on our laurels. With four global offices, and 200+ employees, we’re still going strong, as motivated and passionate as ever to break new ground in 3D measurement technology. We’re a smart, talented, hardworking team – the best at what we do. Won’t you join us?

About the Role:

We are looking for an experienced, results-oriented Software Developer to join our R&D team in the development of applications to control, calibrate and operate our medical and AR/VR motion tracking systems. As a member of a dynamic, cross-functional team of engineers, you will design and develop real-time 3D applications and libraries incorporating proprietary processing algorithms related to high speed image and signal processing used within NDI’s advanced 3D measurement and motion tracking systems. This software will be used internally and by our OEM partners.

Reporting to the Senior Manager, Software Development the successful candidate will be located in Waterloo, Ontario.

What You’ll be Doing:

  • Design and develop software to NDI’s internal software development standards
  • Actively participate in discussions that drive product level design decisions with the development team including advanced research, hardware and firmware engineers.  Explore opportunities to optimize product metrics and enhance system level performance.
  • Participate in defining/developing appropriate test suites for the applications
  • Integrate the applications with the target hardware system

What You’ll Bring to the Role:

  • Bachelor’s degree in Computer Science, Engineering, or equivalent
  • 5+ years of recent hands-on experience coding and software design for Windows operating system
  • Proficient in Java and C/C++ programming on both Windows and non-Windows operating systems;
  • Familiar with TCP/IP and serial communications
  • Experience with real-time, multithreaded applications
  • Familiar with OpenGL and/or other 3D rendering tools
  • Exceptional problem solving and trouble-shooting skills
  • Strong organization skills, documentation skills, and the ability to communicate well both in writing and orally

Desired Characteristics/Additional Assets:

  • Medical device development standard and procedures
  • Good understanding of 3D-transformation algorithms

Why NDI:

  • Exciting and challenging work based on cool technology
  • Stable company that genuinely respects the life-work balance
  • Generous employer-paid benefits package
  • Casual work environment
  • Company-wide bonus program
  • Employee stock purchase plan
  • Employee social and engagement events throughout the year
  • Holiday shut-down
  • Free onsite parking
  • Growing global company with offices in Waterloo, Vermont, Germany, and Hong Kong
  • Close to GRT and ION stops
  • Located just off the Conestoga Expressway, close to Conestoga Mall, the St. Jacobs Farmers’ Market, and other retail amenities

About NDI:

NDI is a global leading innovator and manufacturer of advanced 3D measurement technology systems, with over 45,000 installations worldwide. For over 30 years, the company's optical measurement and electromagnetic tracking solutions have been trusted by the world's foremost organizations and institutes in medicine, industry and academia. From image-guided surgery to aeronautics; from quality assurance to biomechanics research, NDI solutions are used whenever best-in-class measurement accuracy and reliability are required.

Application Instructions:

If you’re interested in furthering your career in a dynamic and innovative organization, please visit where you can apply online!

We thank all candidates for their interest in joining NDI, however, only candidates invited for an interview will be contacted.  Agency calls will not be accepted.  For more information about NDI and this position, please visit our website: