1

Linux Kernel Developer Jobs in Ontario (NOW HIRING)

The engineer will design and implement production-grade embedded Linux services for industrial ... U-Boot, Linux kernel fundamentals, device tree, pinmux configuration, and board bring-up.

We are seeking s Software Driver Developer to create reference drivers for our AI-IP in a reference ... Familiar with Linux kernel concepts and how kernel and user-space components interact. * Experience ...

Senior Embedded Linux Engineer

Kitchener, ON · Hybrid

CA$100K - CA$150K/yr

Senior Embedded Linux Engineer Department: Inverter Firmware Compensation: $100,000 - $150,000 ... Design and maintain Board Support Packages (BSPs) including bootloaders, kernel configuration ...

Senior Embedded Linux Engineer

Kitchener, ON · On-site

CA$100K - CA$150K/yr

Senior Embedded Linux Engineer Department: Inverter Firmware Compensation: $100,000 - $150,000 ... Design and maintain Board Support Packages (BSPs) including bootloaders, kernel configuration ...

Staff Firmware Engineer

Toronto, ON · Hybrid

CA$100K - CA$500K/yr

Tenstorrent is looking for a Staff Firmware Developer to contribute to development of system ... How firmware integrates with bootloaders, embedded Linux, kernel drivers, runtime software, BMC ...

... developer for our leading-edge optical line system product line. Our team is responsible for ... Strong understanding of SOC controller/processor architecture, Linux kernel, and real-time OS ...

next page

Showing results 1-20

Linux Kernel Developer information

What are some common challenges Linux Kernel Developers face when integrating new features or patches?

Linux Kernel Developers often encounter challenges such as ensuring compatibility with a wide range of hardware architectures and maintaining stability across diverse distributions. Integrating new features or patches requires rigorous code review, thorough testing, and clear communication with the broader open-source community. Developers must also keep up with the kernel's fast-paced development cycles and adhere to strict coding standards, which can be demanding but offers significant opportunities for learning and professional growth.

What Does a Linux Kernel Developer Do?

A Linux kernel developer uses computer code to create a program that functions as the core of a computer operating system. Your duties can include creating kernels for open-source operating systems for desktop computers, laptops, phones, and tablets. You can also develop programs for embedded systems for routers, smart devices, or automated machinery. Linux uses C programming languages, so you often write code in C and C++. In addition to your coding responsibilities, you also test and debug your programs. Your employer may ask you to develop applications, drivers, and other tools to use with your kernel.

What does a Linux Kernel Developer do?

A Linux Kernel Developer is responsible for designing, developing, and maintaining the core part of the Linux operating system known as the kernel. Their work involves writing and reviewing code, debugging issues, implementing new features, and ensuring the kernel remains efficient and secure. They also collaborate with the open-source community to contribute patches and updates. Linux Kernel Developers play a crucial role in supporting hardware compatibility and system performance across various devices.

What are the key skills and qualifications needed to thrive as a Linux Kernel Developer, and why are they important?

To thrive as a Linux Kernel Developer, you need deep knowledge of C programming, operating system concepts, and experience with kernel development, often supported by a degree in computer science or related fields. Familiarity with tools such as Git, GDB, build systems, and patch submission processes, as well as experience contributing to open-source projects, is typically required. Strong problem-solving, attention to detail, and effective communication are critical soft skills for collaborating within the open-source community. These skills ensure high-quality code contributions, efficient troubleshooting, and successful integration with the broader Linux ecosystem.

What is the difference between Linux Kernel Developer vs Linux Device Driver Developer?

AspectLinux Kernel DeveloperLinux Device Driver Developer
Required CredentialsProficiency in C, Linux kernel development experience, often a degree in Computer Science or related fieldSimilar credentials, with focus on device-specific programming and hardware knowledge
Work EnvironmentDeveloping and maintaining core kernel components, often in a Linux environmentWriting and debugging drivers for specific hardware devices within Linux
Employer & Industry UsageTech companies, open-source projects, hardware manufacturersHardware manufacturers, embedded systems, specialized device companies

While both roles require strong C programming skills and Linux knowledge, Linux Kernel Developers focus on core kernel development, whereas Linux Device Driver Developers specialize in creating drivers for hardware components. The roles often overlap but differ in scope and focus within the Linux ecosystem.

What are popular job titles related to Linux Kernel Developer jobs in Ontario? For Linux Kernel Developer jobs in Ontario, the most frequently searched job titles are:
What job categories do people searching Linux Kernel Developer jobs in Ontario look for? The top searched job categories for Linux Kernel Developer jobs in Ontario are:
What are popular job titles related to Linux Kernel Developer jobs in ON? For Linux Kernel Developer jobs in ON, the most frequently searched job titles are:
Infographic showing various Linux Kernel Developer job openings in Ontario as of June 2026, with employment types broken down into 100% Full Time. Highlights an 100% In-person job distribution.
Firmware Development Engineer

Firmware Development Engineer

Viavi Solutions

Ottawa, ON

Full-time

Medical, Life, Retirement, PTO

Posted 7 days ago


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

Pre-Requisites / Skills / Experience Requirements:

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

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:

86,929

to

161,439

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.