Corinex Logo

Corinex

Senior Embedded Software Engineer

Posted Yesterday
Be an Early Applicant
In-Office
Vancouver, BC, CAN
Senior level
In-Office
Vancouver, BC, CAN
Senior level
Develop and maintain low-level Embedded Linux software for smart grid communication devices. Responsibilities include BSP development, board bring-up, Linux kernel and device driver development, bootloader and Device Tree configuration, hardware-software integration, system debugging, networking support, build automation, CI/CD testing, production tooling, and technical mentorship.
The summary above was generated by AI

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, I²C, 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, I²C, 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.
HQ

Corinex Vancouver, British Columbia, CAN Office

1090 Georgia St W, Vancouver, British Columbia, Canada, V6E 3V7

Similar Jobs

18 Days Ago
In-Office or Remote
CA
Senior level
Senior level
Aerospace
Design and implement high-reliability embedded firmware for a satellite user terminal: low-level drivers, beamforming control, networking optimization, thermal and power management, secure boot/OTA, hardware debugging, and RTOS/Embedded Linux integration to enable real-time beam steering and high-throughput communications.
Top Skills: Beamforming IcsBgpBuildrootCC++Cross-Compiling ToolchainsCryptographic VerificationDhcpDirect Rf Sampling TransceiversEmbedded LinuxEthernetFpgaFreertosHardware-In-The-Loop (Hil)I2CIpv6JtagLogic AnalyzerMicrocontrollerMplsNfvOscilloscopeOta UpdatesPciePhased Array AntennasSdnSecure BootloaderSocSpiSrv6Tcp/IpTpmTrustzoneUartUdpVlanVxworksYocto ProjectZephyr
8 Days Ago
In-Office
Vancouver, BC, CAN
Senior level
Senior level
Artificial Intelligence • Robotics
Develop and own real-time firmware and embedded software for humanoid robot subsystems, including motion control, sensor and actuator interfaces, communication networks, hardware abstraction layers, and low-level drivers. Integrate and test hardware and software, optimize performance under system constraints, implement communication protocols, troubleshoot embedded systems, and document architecture and validation results. Collaborate with multidisciplinary robotics, mechanical, electrical, controls, and AI teams from concept through deployment.
Top Skills: AsicCC++CanEthercatEthernetFpgaI2CIn-Circuit DebuggersLogic AnalyzersOscilloscopesPythonRosRos2RtosSocSpiUart
8 Days Ago
In-Office
Burnaby, BC, CAN
Senior level
Senior level
Security • Software • Cybersecurity
Design, implement, and maintain C/C++ software powering FortiGate UTM features (Anti-Virus, Web Filter, DLP, Anti-Spam). Troubleshoot networking and application-layer issues, uphold coding best practices, research new technologies, and propose product improvements.
Top Skills: CC++FortigateGitLinuxPerlPosix ApisPythonShellSocket ProgrammingSvnTcp/IpUnix

What you need to know about the Vancouver Tech Scene

Raincouver, Vancity, The Big Smoke — Vancouver is known by many names, and in recent years, it has gained a reputation as a growing hub for both tech and sustainability. Renowned for its natural beauty, the city has become a magnet for professionals eager to create environmental solutions, and with an emphasis on clean technology, renewable energy and environmental innovation, it's attracted companies across various industries, all working toward a shared goal: advancing clean technology.

Sign up now Access later

Create Free Account

Please log in or sign up to report this job.

Create Free Account