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.