1

Embedded Software Engineer Jobs in British Columbia

Embedded Software Developer

Burnaby, BC · On-site

CA$92K - CA$112K/yr

Fortinet is seeking an Embedded Software Developer to join the FortiGate R&D team. FortiGate is ... This position is ideal for an experienced engineer who enjoys hands-on development, deep system ...

Embedded Software Developer

Burnaby, BC · On-site

CA$92K - CA$112K/yr

Fortinet is seeking an Embedded Software Developer to join the FortiGate R&D team. FortiGate is ... This position is ideal for an experienced engineer who enjoys hands-on development, deep system ...

Fortinet is seeking an Embedded Software Developer to join the FortiGate R&D team. FortiGate is ... This position is ideal for an experienced engineer who enjoys hands-on development, deep system ...

Fortinet is seeking an Embedded Software Developer to join the FortiGate R&D team. FortiGate is ... This position is ideal for an experienced engineer who enjoys hands-on development, deep system ...

The Software Engineering Manager is responsible for leading systems software and applications ... Experience with development on embedded platforms (for example MSP430, ARM Cortex A/M, x86/64 ...

Fortinet is offering an exciting opportunity and hiring an Embedded Software Developer to help with our FortiAuthenticator product development. The FortiAuthenticator builds on the foundations of ...

Fortinet is offering an exciting opportunity and hiring an Embedded Software Developer to help with our FortiAuthenticator product development. The FortiAuthenticator builds on the foundations of ...

As a software developer at Fortinet, you will: * Implement and maintain software that drives our UTM feature set * Stay on top of new developments in application-layer protocols and software ...

As a software developer at Fortinet, you will: * Implement and maintain software that drives our UTM feature set * Stay on top of new developments in application-layer protocols and software ...

Embedded Software Developer

Burnaby, BC · On-site

CA$94K - CA$115K/yr

As a software developer at Fortinet, you will: * Implement and maintain software that drives our UTM feature set * Stay on top of new developments in application-layer protocols and software ...

Embedded Software Developer

Burnaby, BC · On-site

CA$94K - CA$115K/yr

As a software developer at Fortinet, you will: * Implement and maintain software that drives our UTM feature set * Stay on top of new developments in application-layer protocols and software ...

As a software developer at Fortinet, you will: * Implement and maintain software that drives our UTM feature set * Stay on top of new developments in application-layer protocols and software ...

As a software developer at Fortinet, you will: * Implement and maintain software that drives our UTM feature set * Stay on top of new developments in application-layer protocols and software ...

Experience developing software in Linux or UNIX-like environments * Knowledge of TLS, TCP/IP, POSIX APIs, and socket programming * Familiarity with source control systems (Git or others) * Ability to ...

Experience developing software in Linux or UNIX-like environments * Knowledge of TLS, TCP/IP, POSIX APIs, and socket programming * Familiarity with source control systems (Git or others) * Ability to ...

next page

Showing results 1-20

Embedded Software Engineer information

What is an embedded software engineer?

Embedded Software Engineers are professionals who design, develop, and maintain software that runs on embedded systems—specialized computing devices that are part of larger systems, such as cars, medical devices, industrial machines, and consumer electronics. Their work involves programming in languages like C or C++ to interact closely with hardware components, ensuring optimal performance, reliability, and safety. Embedded Software Engineers work closely with hardware engineers to integrate and test software with physical devices, often working within real-time and resource-constrained environments. Their expertise is crucial in developing the 'brains' of many devices we use every day.

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

To thrive as an Embedded Software Engineer, you need a solid background in computer science or electrical engineering, strong programming skills in C/C++, and experience with embedded systems design. Familiarity with real-time operating systems (RTOS), microcontroller architectures, debugging tools, and version control systems like Git is typically required. Excellent problem-solving abilities, attention to detail, and effective communication skills set top engineers apart. These competencies are crucial for building reliable, efficient, and safe embedded solutions that meet industry standards.

How does an embedded software engineer typically collaborate with hardware engineers during product development?

Embedded Software Engineers work closely with hardware engineers throughout the product development lifecycle. Collaboration often involves joint design reviews, debugging sessions, and integration testing to ensure software and hardware function seamlessly together. Effective communication is crucial, as changes in hardware can impact software functionality and vice versa. This cross-disciplinary teamwork helps resolve technical issues quickly and ensures the end product meets performance and reliability standards.

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

AspectEmbedded Software EngineerFirmware Engineer
CredentialsBachelor's in Computer Engineering, Electrical Engineering, or related fields; often requires knowledge of C/C++Similar credentials; strong C/C++ skills, understanding of hardware
Work EnvironmentDevelops software for embedded systems in various industries like automotive, IoT, consumer electronicsFocuses on low-level hardware interaction, often working closely with hardware teams
Industry UsageCommon in automotive, medical devices, consumer electronics, industrial automationPrimarily in consumer electronics, IoT devices, and hardware startups

Embedded Software Engineers design and develop software for embedded systems, focusing on system-level programming. Firmware Engineers write low-level code that directly interacts with hardware components. While both roles require similar skills and work environments, Embedded Software Engineers often work on a broader range of software, whereas Firmware Engineers focus on hardware-specific code. Understanding these differences helps in choosing the right career path or job search focus.

Are embedded software engineers in demand?

Embedded software engineers are in high demand due to the growth of IoT, automotive, medical devices, and consumer electronics industries. They often require skills in C, C++, and real-time operating systems, with job opportunities increasing globally as embedded systems become more integral to technology development.

What are the most commonly searched types of Embedded Software Engineer jobs in British Columbia?

The most popular types of Embedded Software Engineer jobs in British Columbia are:

What are popular job titles related to Embedded Software Engineer jobs in British Columbia?

For Embedded Software Engineer jobs in British Columbia, the most frequently searched job titles are:

What job categories do people searching Embedded Software Engineer jobs in British Columbia look for?

The top searched job categories for Embedded Software Engineer jobs in British Columbia are:

What cities in British Columbia are hiring for Embedded Software Engineer jobs?

Cities in British Columbia with the most Embedded Software Engineer job openings:

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

Senior Embedded Software Engineer

Vancouver, BC

Full-time

Posted 3 days ago

New


Job description

About The Company

At Corinex, we are driving the future of energy with cutting-edge Broadband over Power Line (BPL) technology. As a global leader in smart grid solutions, we enable utilities to enhance grid visibility, flexibility, and decarbonization, supporting the seamless integration of renewable energy, electric vehicles, and heat pumps into the power grid.


Headquartered in Vancouver, Canada, Corinex is the market leader in Europe, particularly in Spain, where our BPL solutions are deployed by major DSOs (Distribution System Operators) to improve grid operations. With successful implementations across global markets, our technologies accelerate the transition to a more sustainable, decentralized, and efficient energy infrastructure. Recognized as a key contributor to industry standards and a 2024 Deloitte Technology Fast 50 winner, Corinex is shaping the future of smart energy.


About the Job

Corinex is seeking an experienced Senior Embedded Software Engineer to join our engineering team in developing next-generation smart grid communication devices. In this role, you will work on low-level embedded software and platform development across the full product lifecycle, from board bring-up and BSP development to system integration, debugging, validation, and production support.

The ideal candidate has strong hands-on experience with Embedded Linux, C programming, Linux kernel and device drivers, BSP development, bootloaders, and hardware bring-up. You will work closely with hardware, firmware, networking, and test teams to develop reliable and high-performance embedded platforms for our smart grid communication products.

This is a hands-on engineering role suited for someone comfortable working close to the hardware, debugging complex system-level issues, and taking ownership of embedded platforms from initial board bring-up through production deployment.


Duties & Responsibilities

  • Design, develop, integrate, and maintain embedded software for Linux-based communication devices.
  • Develop and maintain Board Support Packages (BSPs), platform software, and low-level firmware components.
  • Perform new board bring-up, hardware-software integration, and system-level debugging.
  • Develop, configure, and maintain Linux kernel components and device drivers.
  • Configure and maintain U-Boot, bootloaders, Device Tree (DTS/DTB), and Linux kernel configurations.
  • Debug hardware and embedded software using tools and interfaces such as JTAG, UART/serial console, GDB, and OpenOCD.
  • Investigate and resolve system-level issues involving hardware, firmware, kernel, drivers, and networking.
  • Work with embedded interfaces and peripherals including SPI, IC, GPIO, UART, and Ethernet.
  • Support embedded networking functionality, including troubleshooting Ethernet, VLAN/bridge configuration, IP addressing and routing, TCP/UDP, multicast, and network management protocols.
  • Develop and maintain Embedded Linux builds using technologies such as Yocto Project, OpenEmbedded, and BitBake.
  • Collaborate closely with hardware engineers during schematic review, board validation, and product bring-up.
  • Perform structured root-cause analysis and troubleshoot complex hardware-software integration issues.
  • Participate in system architecture and technical design discussions.
  • Develop scripts and automation tools to support build, validation, flashing, testing, and manufacturing processes.
  • Contribute to CI/CD pipelines and automated hardware or firmware testing.
  • Conduct code reviews and contribute to engineering best practices, coding standards, and technical documentation.
  • Support manufacturing, factory flashing, recovery tooling, and production testing when required.
  • Mentor junior engineers and provide technical guidance on embedded software development and debugging.


Qualifications

  • Bachelor's or Master's degree in Electrical Engineering, Computer Engineering, Computer Science, or a related technical field.
  • 5+ years of professional experience in embedded software, firmware, or Embedded Linux development.
  • Strong programming experience in C, with solid understanding of low-level programming concepts.
  • Strong hands-on experience developing software for Embedded Linux systems.
  • Experience with Linux kernel development, BSP development, and/or Linux device drivers.
  • Proven experience with board bring-up and hardware-software integration.
  • Hands-on experience with U-Boot or other bootloaders and Device Tree configuration.
  • Strong experience debugging embedded systems through UART/serial console and JTAG.
  • Experience working directly with hardware, schematics, processors, peripherals, and board-level interfaces.
  • Strong understanding of embedded communication interfaces such as SPI, IC, UART, GPIO, and Ethernet.
  • Strong troubleshooting skills and ability to perform structured root-cause analysis across hardware and software layers.
  • Proficiency with Git-based version control and modern software development practices.


Nice to Have

  • Experience with Yocto Project, OpenEmbedded, and/or BitBake.
  • Experience with Ethernet or networking driver development.
  • Strong understanding of networking concepts including TCP/IP, UDP, VLANs, bridges, routing, multicast, and network management protocols.
  • Experience using OpenOCD, GDB, or similar low-level debugging tools.
  • Experience with factory flashing, firmware recovery, and production tooling.
  • Experience scripting in Python or Shell.
  • Experience with CI/CD and automated hardware or firmware testing.
  • Experience supporting manufacturing or production test environments.
  • Experience with C++, bare-metal firmware, or RTOS-based systems.
  • Experience with embedded communication, telecommunications, networking equipment, industrial networking, or smart grid technologies is an asset.