1

Embedded Software Developer Jobs in Ontario (NOW HIRING)

Our Optical Line System team is searching for an experienced embedded and real-time software developer for our leading-edge optical line system product line. Our team is responsible for developing ...

Embedded Software Engineer

Toronto, ON

CA$90K - CA$100K/yr

  • Medical

  • Dental

  • Vision

  • Life

You should have a strong interest in and knowledge of C/C++ programming and embedded hardware. * Research and development of software features for embedded Linux systems for both ARM and x86_64 based ...

Embedded Software Engineer

Toronto, ON

CA$90K - CA$100K/yr

  • Medical

  • Dental

  • Vision

  • Life

You should have a strong interest in and knowledge of C/C++ programming and embedded hardware. * Research and development of software features for embedded Linux systems for both ARM and x86_64 based ...

Our Optical Line System team is searching for an experienced embedded and real-time software developer for our leading-edge optical line system product line. Our team is responsible for developing ...

Jr. Embedded Software Developer

Kanata, ON

  • Medical

  • Dental

  • Life

  • Retirement

  • PTO

These include embedded platform OS/driver development (64-bit SMP), Linux technologies (Yocto, KVM ... You have : * Minimum Bachelor's degree in Computer/software engineering, Computer Science ...

Jr. Embedded Software Developer

Kanata, ON

  • Medical

  • Dental

  • Life

  • Retirement

  • PTO

These include embedded platform OS/driver development (64-bit SMP), Linux technologies (Yocto, KVM ... You have : * Minimum Bachelor's degree in Computer/software engineering, Computer Science ...

At CRANK , we are seeking an Embedded Software Developer with a strong focus on front-end and UI development . In this hybrid role, you will design and implement intuitive and visually appealing user ...

Provide hands-on support to embedded controls, including build and flashing workflows, microcontroller toolchains, and software integration within engineering and production environments. * Support ...

Posted today

Staff Embedded Logging Software Developer

Markham, ON · Hybrid

CA$147K - CA$196K/yr

  • Medical

  • Dental

  • Vision

  • Life

  • Retirement

  • PTO

We're seeking a Staff Embedded Logging Software Developer to design and integrate embedded logging pipelines across diverse invehicle platforms, ensuring cohesive interaction between the control ...

Staff Embedded Logging Software Developer

Oshawa, ON · Hybrid

CA$147K - CA$196K/yr

  • Medical

  • Dental

  • Vision

  • Life

  • Retirement

  • PTO

We're seeking a Staff Embedded Logging Software Developer to design and integrate embedded logging pipelines across diverse invehicle platforms, ensuring cohesive interaction between the control ...

Software Developer (Embedded)

Cambridge, ON · On-site

CA$600/day

  • Medical

  • Dental

  • Retirement

  • PTO

Responsibilities as Software Developer: * Design, develop, and maintain complex embedded real time software, including automated test frameworks to validate software and mechatronic systems. * Create ...

We are hiring a talented software engineer to help us build the next generation of photonic AI ... Debug and troubleshoot embedded systems using tools such as GDB, JTAG, and logic analyzers.

Showing results 21-40

Embedded Software Developer information

What is an embedded software developer?

Embedded Software Developers are engineers who design, develop, and maintain software that operates on specialized hardware systems, such as microcontrollers, IoT devices, automotive systems, and consumer electronics. Their work involves programming in low-level languages like C or C++ to ensure software interacts efficiently with hardware components. They often work closely with hardware engineers to optimize system performance, reliability, and resource usage. Embedded Software Developers must also consider constraints like memory, power consumption, and real-time processing when building robust solutions.

What are the key skills and qualifications needed to thrive as an embedded software developer?

To thrive as an Embedded Software Developer, you need a strong understanding of programming languages like C/C++, experience with microcontroller architectures, and typically a degree in computer engineering or a related field. Familiarity with real-time operating systems (RTOS), debugging tools, and version control systems such as Git is often required. Strong problem-solving skills, attention to detail, and effective communication set standout developers apart. These capabilities ensure robust, efficient, and reliable software development for critical hardware systems.

What are some common challenges faced by embedded software developers when integrating software with hardware components?

Embedded Software Developers often encounter challenges related to hardware-software integration, such as debugging timing issues, managing limited memory and processing resources, and ensuring reliable communication between devices. These challenges require strong problem-solving skills and close collaboration with hardware engineers to diagnose and resolve issues efficiently. Additionally, developers must frequently work with low-level programming languages and proprietary hardware interfaces, which can require continuous learning and adaptation.

What is the difference between Embedded Software Developer vs Firmware Engineer?

AspectEmbedded Software DeveloperFirmware Engineer
CredentialsBachelor's in Computer Science, Electrical Engineering, or related fields; programming skills in C/C++Similar credentials; often requires experience with hardware and low-level programming
Work EnvironmentDevelops software for embedded systems in various industries like automotive, consumer electronicsFocuses on designing and implementing firmware directly on hardware devices
Industry UsageCommonly employed in electronics, automotive, IoT, and consumer device companiesPrimarily used in hardware-centric industries like aerospace, medical devices, and consumer electronics

Both roles require strong programming skills in C/C++ and familiarity with embedded systems. While Embedded Software Developers focus on creating software that runs on embedded devices, Firmware Engineers work closely with hardware to develop low-level code that directly interacts with hardware components. The roles often overlap, but Firmware Engineers typically have a deeper understanding of hardware architecture and low-level programming.

Is embedded software a good career?

Embedded software development is a stable and growing field that involves creating software for hardware devices such as appliances, automotive systems, and medical equipment. It requires skills in programming languages like C and C++, knowledge of hardware interfaces, and often involves working with real-time operating systems. The demand for embedded developers remains strong due to the increasing integration of electronics in everyday products.

What job categories do people searching Embedded Software Developer jobs in Ontario look for?

The top searched job categories for Embedded Software Developer jobs in Ontario are:

Infographic showing various Embedded Software Developer job openings in Ontario as of August 2026, with employment types broken down into 1% As Needed, 80% Full Time, 16% Part Time, and 3% Contract. Highlights an 87% Physical, 4% Hybrid, and 9% Remote job distribution.

Staff Embedded Software Engineer

Nokia

Kanata, ON

Full-time

Re-posted 5 days ago


Nokia rating

7.9

Company rating: 7.9 out of 10

Based on 6 frontline employees who took The Breakroom Quiz

30th of 99 rated telecommunications companies


Job description

Our Optical Line System team is searching for an experienced embedded and real-time software developer for our leading-edge optical line system product line. Our team is responsible for developing carrier grade embedded software which follows modular and reusable design principles. The candidate is required to fully understand line system software architecture and its real time operating system and be able to work independently developing optical control and shelf controller interface software for new products as well as sustaining legacy products. To achieve this goal, the candidate is required to work closely in a multi-disciplinary environment and be able to interact with optical, hardware and software engineers to drive closure of any design and development requirements and issues.

You have:

  • Bachelor or higher degree in Computer Engineering/Electrical Engineering, or equivalent education.
  • Minimum 10 years of industry experience in real-time programming using C/C++ in embedded Linux and/or RTOS environments
  • Solid experience with low-level device interfaces, including UART, SPI, and I2C.
  • Proficient in using lab equipment, such as oscilloscopes and power meters.
  • Strong understanding of SOC controller/processor architecture, Linux kernel, and real-time OS operations.
  • Experience with CMAKE build system
  • Working knowledge in gRPC and protobuf design and implementation
  • Proven ability to quickly grasp new technical concepts.
  • Excellent written and verbal communication and presentation skills.

It would be nice if you also had:

  • Experience with optical networking communication systems, particularly optical transceivers or fiber optics modules.
  • Familiarity with optical technologies and components such as EDFAs, WSS, OCMs, and OTDR.
  • Experience with Xilinx Zynq/Ultrascale.
  • Understanding of digital signal processing principles or PID control algorithms.
  • Knowledge of Petalinux and its build environment.
  • Work closely with hardware/FPGA engineers to understand HW control architecture including CPU architecture, memory access and control of various peripherals. Be able to independently develop firmware that supports the designed hardware, e.g. driving DACs, reading ADCs and control flash devices through low level device interfaces or FPGA interfaces. 
  • Work closely with optical engineers to define optical control requirements and develop control algorithms. Implement the control algorithms on top of Linux and FreeRTOS operating systems.
  • Work on software interface layer that communicates with system controller on a different card through gRPC interface over Ethernet.
  • Provide to management team accurate design estimates for planning purposes.
  • Follow development processes to ensure delivery of quality products on time.
  • Flexible and adapt to changing tasks when needed. 

What Nokia employees say

Hours and flexibility

Workplace

Get the full story on Breakroom