Firmware Development Engineer
- Compensation
- $86.9K–$161.4K / yr
- Location
- Ottawa, CAN
- Work setup
- Not specified
- Seniority
- Senior
- Employment
- Not specified
- Experience
- 7+ years
- Category
- Embedded
- Posted
Skills
Must have
- 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
Nice to have
- 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
Full 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.
VIAVI Solutions is seeking a Senior Firmware Developer to join the Fiber Optic Production Lab Test (FOPLT) engineering team. This role focuses on embedded firmware development for modular optical test and measurement cassettes used in the MAP platform. The ideal candidate has hands-on experience with ARM and DSP embedded systems, FPGA interfacing, microcontroller programming, and Linux kernel-level development. You will work across the full hardware-software stack — from microcontroller and DSP firmware to ARM Linux applications, FPGA register interfaces, and PCIe bridge logic — delivering production-quality firmware for instruments used by telecom operators worldwide.
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.
Duties & Responsibilities: 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