
Senior Embedded Linux Engineer
- ๐จ๐ฆ Canada
- On-site
- Senior
- 1 day ago
- Linux
- Yocto
- VLANs
- TCP
- UDP
- DHCP
- FTP
- SSH
- UART
- CI/CD
- Integration Testing
- TCP/IP
- Git
- IoT
- PLC
- C++
- Python
- Bash
- SNMP
- MQTT
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 Role
We are looking for a Senior Embedded Linux / BSP Platform Engineer with strong, hands-on experience in embedded Linux development, board bring-up, and system-level debugging.
This role requires direct technical ownership of embedded Linux platforms, from hardware initialization, bootloader, BSP, and Linux kernel through device drivers, networking, security, and embedded applications.
The successful candidate will be an experienced hands-on engineer who can independently develop, modify, troubleshoot, and optimize embedded Linux systems, rather than primarily overseeing development activities.
You will work on embedded platforms supporting Corinex's smart grid technologies, including Smart Metering Data Concentrators and BPL proxy solutions.
We value engineers who understand how different layers of an embedded Linux system interact, can identify the root causes of complex technical issues, and are comfortable working directly with code, hardware, and debugging tools.
Key Responsibilities
Embedded Linux Platform Development & Board Bring-up
- Take hands-on technical ownership of embedded Linux platforms throughout development, integration, and deployment.
- Perform board bring-up and hardware-software integration for new or existing embedded Linux platforms.
- Develop, modify, configure, and debug bootloaders (e.g., U-Boot), Linux kernels, Board Support Packages (BSPs), Device Trees, and device drivers.
- Diagnose and resolve boot failures, kernel issues, hardware initialization problems, and system stability challenges.
- Investigate complex system-level issues across hardware, bootloader, kernel, drivers, networking, and application layers.
Yocto / Embedded Linux Build Systems
- Develop, customize, and maintain Yocto/OpenEmbedded-based Linux distributions.
- Modify and maintain Yocto layers, recipes, patches, and build configurations to support hardware platforms and product requirements.
- Manage BSP integration, package dependencies, build configurations, and software updates.
- Maintain consistent, reproducible, and reliable embedded Linux builds across development and production environments.
Embedded Software & Networking
- Develop, integrate, and troubleshoot embedded applications and system-level software.
- Work with embedded networking technologies, including Ethernet, VLANs, bridging, routing, TCP/UDP, and multicast.
- Support networking and communication protocols such as DHCP, FTP/FTPS, HTTP/HTTPS, SSH, and relevant network management protocols.
- Identify and resolve cross-layer performance, reliability, and communication issues.
Security, Debugging & System Reliability
- Implement and maintain embedded security features, including authentication, secure communication, certificates, key management, and secure remote access.
- Perform low-level debugging using tools such as JTAG, GDB, OpenOCD, UART/serial consoles, and other hardware or software diagnostic tools.
- Analyze system logs, kernel messages, boot sequences, and runtime behaviour to identify and resolve technical issues.
- Optimize system performance, stability, memory usage, and reliability.
Development, Integration & Production Support
- Support automated builds, CI/CD pipelines, software deployment, and integration testing.
- Develop and maintain firmware flashing, recovery, and system update mechanisms.
- Troubleshoot issues encountered during production testing, deployment, and field operations.
- Collaborate closely with hardware, firmware, QA, and application development teams.
- Participate in design discussions, technical reviews, and knowledge sharing while remaining actively involved in hands-on development.
Required Qualifications
- 5+ years of professional experience in embedded software development, with substantial hands-on experience in Embedded Linux.
- Strong programming skills in C, particularly for low-level embedded systems and Linux development.
- Demonstrated hands-on experience developing, modifying, and debugging Linux BSPs, kernels, bootloaders (e.g., U-Boot), Device Trees, and/or device drivers.
- Practical experience with embedded Linux board bring-up, hardware-software integration, and low-level system troubleshooting.
- Hands-on experience customizing Yocto/OpenEmbedded-based Linux distributions, including working with layers, recipes, patches, and build configurations.
- Strong understanding of the embedded Linux software stack, including boot processes, kernel initialization, device drivers, root file systems, and applications.
- Proven ability to independently investigate and resolve complex technical issues across multiple layers of an embedded system.
- Experience with hardware and software debugging tools, such as UART/serial consoles, JTAG, GDB, or equivalent tools.
- Solid understanding of TCP/IP networking and common embedded networking protocols.
- Experience using Git and working in collaborative software development environments.
- Ability to clearly communicate technical decisions, explain personal contributions to engineering projects, and collaborate effectively with cross-functional teams.
Nice to Have
- Experience with embedded platforms used in smart metering, smart grids, industrial IoT, telecommunications, or networking equipment.
- Familiarity with power line communication (PLC/BPL), AMI systems, or data concentrators.
- Experience with secure boot, embedded device security, or remote device management.
- Experience with embedded CI/CD, automated testing, and production firmware deployment.
- Programming experience in C++, Python, or Bash.
- Experience with embedded network management protocols such as SNMP or MQTT.
- Experience supporting embedded products throughout development, production, and field deployment.
What We're Looking For
We are particularly interested in engineers who enjoy working directly with embedded Linux systems and taking ownership of challenging technical problems.
The ideal candidate combines strong low-level software development skills, practical debugging experience, and the ability to understand and troubleshoot complex interactions across hardware and software.
While system architecture and technical leadership experience are valuable, this is fundamentally a hands-on engineering position requiring active involvement in development, integration, and troubleshooting.
Senior Embedded Linux Engineer ยท Corinex Communications