Firmware Development Engineer

18 hours ago

Ottawa, Ontario, Canada VIAVI Solutions Full-time

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.

About the Role

As a Senior Firmware Developer at VIAVI Solutions, you will design, develop, debug, and maintain embedded firmware for the MAP modular optical test platform and its cassette ecosystem. The MAP platform is a rack‑mounted chassis hosting hot‑swappable optical test modules (cassettes) covering a broad range of fiber optic test and measurement applications.

You will work across multiple cassette architectures as well as chassis‑level infrastructure including FPGA bridges, microcontrollers, and Linux kernel/driver integration.

Key Responsibilities

  • Cassette Firmware Development
    • Develop and maintain firmware for ARM‑based cassettes (embedded Linux, C/C++) and DSP‑based cassettes (uClinux, C/C++)
    • Implement SCPI command protocol handlers for instrument control and measurement data acquisition
    • Develop multi‑threaded real‑time signal processing pipelines using FFT, DSP, and SIMD optimizations
    • Interface with optical hardware components via I2C, SPI, UART, and USB
  • FPGA Interfacing & Development
    • Interface cassette firmware with FPGA co‑processors for signal processing, optical triggering, and hardware acceleration via memory‑mapped registers
    • Maintain and enhance the MAP platform PCIe bridge FPGA (Verilog) which provides bus translation between the host processor and cassette backplane
    • Debug FPGA register‑level interactions and timing issues across SPI and PCIe domains
  • Microcontroller Firmware
    • Develop firmware for bridge board microcontrollers (C) that manage FPGA programming, card‑present detection, I2C register interfaces, and chassis power sequencing
    • Maintain power management microcontroller firmware controlling chassis power rails, standby/power‑cycle sequencing, and watchdog functionality
  • Kernel & System‑Level Work
    • Contribute to Linux kernel and device tree customization on the chassis controller
    • Debug and resolve hardware‑software integration issues including I2C bus contention, display pipeline conflicts, IRQ handling, and power management
    • Develop and maintain system services, udev rules, and shell scripts for chassis lifecycle management (boot, hot‑plug, reboot, shutdown)
  • Cross‑Functional Collaboration
    • Work closely with hardware engineers on board bring‑up, schematic review, and signal integrity debugging
    • Collaborate with the software team on communication between cassette firmware and the web GUI / front panel applications
    • Support manufacturing with calibration firmware, production test scripts, and factory provisioning tools
    • Leverage AI‑augmented development workflows (e.g., AI coding assistants) to accelerate firmware development, debugging, analysis and unit‑testing

Required Qualifications

  • BS or MS in Electrical Engineering, Computer Engineering, or related field
  • 7+ years of embedded firmware development experience
  • Strong proficiency in C and C++ for embedded systems (bare‑metal and Linux)
  • Hands‑on experience with ARM and/or DSP processor architectures
  • Experience with FPGA interfacing (register‑level, SPI/I2C/memory‑mapped I/O); HDL (Verilog or VHDL) reading ability preferred
  • Solid understanding of serial communication protocols: I2C, SPI, UART, USB
  • Experience with embedded Linux (kernel configuration, device trees, cross‑compilation, driver development)
  • Proficiency with debugging tools: JTAG, oscilloscopes, logic analyzers, serial consoles
  • Familiarity with version control (Git) and CI/CD build systems

Preferred Qualifications

  • Experience with DSP platforms and real‑time signal processing (FFT, filtering, spectral analysis)
  • Experience with Xilinx Zynq or similar ARM+FPGA SoC development
  • Experience with AVR or similar 8‑bit microcontrollers
  • Knowledge of SCPI protocol and test & measurement instrument firmware
  • Experience with fiber optic components and optical test instrumentation
  • Experience with PCIe protocol and bridge design
  • Knowledge of RTOS concepts (FreeRTOS, uClinux, or similar)
  • Experience with Docker‑based embedded build environments and Buildroot/Yocto
  • Familiarity with Debian packaging and systemd service architecture
  • Experience with AI‑augmented development tools and workflows

Pay range: $86,929 –