Software Development Engineer (Image Processing)

VIAVI SolutionsOttawa, ON
$84,000 - $156,000

About The Position

Our team develops optical test and measurement equipment for telecommunications laboratory and manufacturing environments. We are seeking a Digital Image Software Engineer to support the development and implementation of image processing algorithms and software applications for digital microscopy and related imaging systems. This role is well-suited for an engineer with a solid foundation in C++ and Python, hands-on experience with image processing or machine vision, and an interest in working on real-world electro optical instrumentation products. The position emphasizes software implementation, testing, debugging, and maintenance, while providing opportunities to grow into more advanced algorithm development and system-level responsibilities.

Requirements

  • Bachelor’s degree in Computer Science, Computer/Systems Engineering, Mathematics, or a related field
  • 3+ years of professional software development experience, primarily in C/C++
  • 1–3 years of experience working with image processing, computer vision, or machine vision applications, including academic, internship, or industry experience
  • Fundamental knowledge of image processing concepts (e.g., filtering, segmentation, feature extraction)
  • Experience programming in C/C++; working knowledge of Python
  • Familiarity with common image processing and numerical libraries such as OpenCV, NumPy, SciPy, scikit-image, or PIL
  • Experience developing or debugging software on Windows; exposure to Linux environments preferred
  • Comfortable using IDEs and build systems (e.g., Visual Studio, CMake, GCC/MSVC)
  • Strong problem-solving skills and attention to detail
  • Clear written and verbal communication skills
  • Ability to work effectively in a collaborative engineering team

Nice To Haves

  • Exposure to digital microscopy, optics, or scientific/industrial imaging systems
  • Introductory experience with machine learning techniques applied to image analysis
  • Familiarity with Embedded Linux or ARM-based systems
  • Experience using version control and issue tracking tools (e.g., Git, Jira)
  • Previous experience working on a team using Agile or Scrum methodologies

Responsibilities

  • Implement, test, debug, and maintain image processing algorithms and software applications
  • Support the development of imaging and machine vision features
  • Contribute to software development in C++ and Python on Windows and Linux platforms
  • Assist with system integration, testing, and verification of imaging and optical subsystems
  • Participate in prototyping and evaluation of imaging solutions for new and existing products
  • Collaborate with cross-functional team members throughout the product lifecycle
  • Help prepare technical documentation such as design notes, test reports, and user documentation
  • Participate as a team member in an Agile/Scrum development environment
  • Follow established coding standards, version control practices, and development processes

Benefits

  • paid time off
  • health, life and disability insurance
  • 401(k)
  • bonus program
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service