Back to results

Software Systems Engineer - Interferometry/microscopy

  • Ottawa, ON, Canada

Full-time

Applications open in a new tab.

Job details

Job type
Full-time
Experience
5+ years of professional software development experience in C/C++/C#
Posting language
English
Posted

Original job description

Summary:

VIAVI (NASDAQ: VIAV) is a global provider of network test, monitoring and assurance solutions for telecommunications, cloud, enterprises, first responders, military, aerospace, and railway. VIAVI is also a leader in light management technologies for 3D sensing, anti-counterfeiting, consumer electronics, industrial, automotive, government and aerospace applications.

We are the people behind the products that help keep the world connected at home, school, work, at play, and everywhere in between. VIAVI employees are passionate about supporting customer success and we welcome people who bring their best every day to the company – to question, to collaborate and to push for solutions that will delight our customers.

Duties & Responsibilities:

Position Detail

Our team develops optical test and measurement equipment for telecommunications lab and manufacturing use. We are hiring a full-stack software and systems engineer to own the software for our industrial microscopy inspection appliance and its companion PC application, from microcontroller firmware to the Windows user application.

You will write the low-level embedded interfaces for motion, illumination and sensing on Atmel microcontrollers, build the USB video pipeline, develop the image analysis algorithms that judge inspection results, and deliver the Windows GUI and REST API that operators and factory automation systems use every day. The ideal candidate has supported a product through its full life cycle: concept, research, development and new product introduction.


Role / Responsibilities

  • Designs, develops, troubleshoots and debugs software programs for enhancements and new products.
  • Develops software and tools in support of design, infrastructure and technology platforms, including operating systems, compilers, routers, networks, utilities, databases, cloud-based and Internet-related tools.
  • Determines hardware compatibility and/or influences hardware design.
  • Participate in the new product development team to specify, model, simulate, test and verify imaging and optical inspection systems and products
  • Contribute to system architecture and software requirements across firmware, PC software and the appliance
  • Develop embedded firmware on Atmel (AVR/SAM), arduino  microcontrollers, plus serial/USB communication with the host PC
  • Build and optimize the USB video (UVC/DirectShow/Media Foundation) acquisition and processing pipeline for live and captured microscope images
  • Design, implement and validate image analysis algorithms for automated inspection, measurement and pass/fail grading
  • Develop the Windows GUI application in C++/C#/.NET/Qt with live video, results display, configuration and reporting
  • Design and maintain a REST API for integration with factory automation, test stations and data systems
  • Develop, test, debug and maintain software in C/C++/C3 and .NET under Windows (Linux a plus)
  • Collaborate through the full product lifecycle: requirements, prototyping, system integration, production support and customer feedback
  • Prepare technical documentation such as user manuals, interface specifications and test procedures
  • Work as part of an Agile software team and contribute to continuous department improvement

Required Qualifications

  • Bachelor’s or Master’s degree in Computer Science, Computer/Electrical/Systems Engineering, Mathematics or a related field
  • 5+ years of professional software development experience in C/C++/C#
  • industry experience in imaging, machine vision or inspection applications
  • Demonstrated experience delivering products that span embedded firmware and a PC application

Required Capabilities

  • Strong C/C++C# skills, including embedded C on resource-constrained microcontrollers (Atmel/Microchip AVR or SAM) and low-level peripheral interfacing (UART, SPI, I2C, ADC, timers, USB)
  • USB video experience: UVC cameras, DirectShow or Media Foundation, frame capture, buffering and real-time display
  • REST API design and implementation, including JSON, HTTP services and integration with automation systems
  • Solid knowledge of classical image processing theory and its application: focus and sharpness metrics, segmentation, edge/feature detection, calibration and measurement
  • Familiarity with imaging tools and libraries such as OpenCV, NumPy/SciPy, OpenGL or CUDA
  • Ability to debug across the whole stack using oscilloscopes, logic analyzers, protocol analyzers and software debuggers
  • Windows application development with .NET (C++,C#, WPF or WinForms),Qt, Microsoft Visual Studio and WinAPI, including native/managed interop
  • Excellent problem-solving skills and attention to detail
  • Excellent verbal and written communication skills
  • A good team player who works well in a collaborative environment

Preferred Qualifications

  • Experience with digital microscopy, fiber-optic inspection or related optical inspection technologies
  • Python for algorithm prototyping, test automation and tooling
  • Knowledge of machine learning applied to image analysis, such as defect classification
  • Experience with embedded Linux on ARM platforms
  • Familiarity with git, Jira and CI/CD practices; experience in an Agile Scrum environment
  • Experience with product documentation and manufacturing test support in a regulated or ISO-quality environment
  • Team leadership ability: experience mentoring engineers, leading technical design reviews or guiding a small software team across firmware, application and algorithm work

Pre-Requisites / Skills / Experience Requirements:

If you have what it takes to push boundaries and seize opportunities, apply to join our team today.

VIAVI Solutions is an equal opportunity and affirmative action employer – minorities/females/veterans/persons with disabilities.

Job Posting Pay Range:

102,200

to

189,800

Exceptional qualifications, experience and location may impact salary. VIAVI offers a competitive benefits package that includes paid time off, health, life and disability insurance, 401(k), and a bonus program.

More about this job

Responsibilities

The engineer will design, develop, and debug software for industrial microscopy inspection appliances, covering everything from microcontroller firmware to Windows-based user applications. They will also contribute to system architecture, image analysis algorithm development, and integration with factory automation systems.

Requirements

Candidates must hold a Bachelor’s or Master’s degree in a relevant engineering or science field and possess at least 5 years of professional software development experience. Strong proficiency in C/C++/C# and experience with embedded firmware, USB video pipelines, and image processing are required.

Skills

  • C
  • C++
  • C#
  • .NET
  • Embedded firmware
  • Atmel microcontrollers
  • USB video
  • DirectShow
  • Image analysis
  • OpenCV
  • REST API
  • Windows GUI
  • Machine vision
  • Qt
  • System architecture
  • Agile

Benefits

  • Paid time off
  • Health insurance
  • Life insurance
  • Disability insurance
  • 401(k)
  • Bonus program

Visa sponsorship

Not detected in the job text

Categories

  • Technology
  • Software
  • Engineering
  • Manufacturing
  • Science & Research

Keywords

  • Software Systems Engineer
  • Interferometry
  • Microscopy
  • Firmware
  • Atmel
  • USB
  • DirectShow
  • Media Foundation
  • Image Analysis
  • REST API
  • C++
  • C#
  • .NET
  • Qt
  • OpenCV
  • Machine Vision
  • Agile
  • Embedded Systems
  • WPF
  • WinForms
  • Visual Studio
  • Git
  • Jira
  • CI/CD
  • ARM
  • Python
  • Optics
  • Automation
  • Manufacturing
  • Product Lifecycle

Report this job