Principal Software Developer

Virtek Vision International is a Canadian high technology company based in Waterloo. Virtek is a leading provider of laser and vision-based templating and inspection solutions. Virtek plays a dominant role in our markets and the major aerospace companies rely on us to create modern aircraft.

Virtek’s solutions support manufacturers world-wide in a variety of specialized industries to assist with assembly processes. Our solutions provide the ability to project a pattern of laser light onto a work surface or part with a high degree of accuracy, speed, and precision for applications such as composite ply layup, paint masking, placement of components or materials, to quality inspection and reverse engineering tasks.

Virtek is seeking a passionate, product-focused Principal Software Developer who thrives on delivering exceptional results and delighting customers. 


Role:  As a Principal Software Developer you will be responsible for:

  • Providing technical leadership for the software team.
  • Developing and architecting new software product designs.
  • Contributing to the evaluation of new technologies.


• Strong technical background in system's architecture and design, ideally with significant experience in overall solution architecture.
• Experience designing solutions involving photogrammetry, CAD model manipulation, laser and vision project, 2D and 3D visualization, and user interfaces.
• Proven ability to develop technical solutions within budget and schedule constraints.
• Strong technical documentation skills to clearly articulate a problem statement, compare pros and cons of options, present design guidelines and create comprehensive technical solution design specifications.
• Can effectively and clearly communicate with all types of stakeholders (e.g., Management and Developers).

• Demonstrable experience in C/C++, C# and .NET, Agile, UML.
• Demonstrable software development experience on Linux and Windows.
• Demonstrable ability using object-oriented programming languages (C++/C#).
• Experience with 3D CAD kernels and components (e.g., Spatial® ACIS, InterOp, HOOPS, OpenGL, DirectX) is an asset.
• Experience dealing with hardware (understand schematics) is an asset.
• Background in computer vision / robotics or calibration algorithms is an asset.

Education & Experience:

  • University degree in Computer Science, Engineering or equivalent experience.
  • Minimum 5-7 years of experience in a software development role.
  • Minimum 3-5 years of experience in an architect role.