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
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.