Sr. Embedded Firmware Engineers (C++) to support their embedded software development on internal projects
S.i. Systems
Edmonton, AB-
Number of positions available : 1
- Salary To be discussed
-
Permanent job
- Published on July 8th, 2025
-
Starting date : 1 position to fill as soon as possible
Description
Our client is looking for Sr. Embedded Firmware Engineers (C++) to support their embedded software development on internal projects.
Overview:
You have a strong background in C++, you'll be excited to know we're taking a fresh approach to embedded software development. Together, we'll build secure, high-performance firmware for cutting-edge industrial control products.
Must Have's:
- 5+ years of C++ experience with much of it in the embedded firmware space
- Bachelor’s degree in Electrical Engineering, Computer Engineering, Computer Science, Electronics, or equivalent experience
- Experience in developing and debugging embedded systems
- 5+ years of coding experience in C/C++ for embedded devices or Rust
- Ability to read and understand data sheets and review electronic schematics
- Strong electronics troubleshooting and embedded debugging experience (proficient with tools such as JTAG debuggers, logic analyzers, oscilloscopes, signal generators, digital multi-meters)
- Proficient with multi-threaded/multi-tasking programming
- Deep understanding of communication protocols such as RS-232, RS-485, IP, Modbus, or CAN bus is an asset
- Experience with bare metal and board bring up
- Experience with Real Time Operating Systems (RTOS), FreeRTOS, ARM, ESP32
- Experience with Object Orientated programming, software architecture, and design patterns
Nice to Have's:
- Experience with scripting languages (Python, Powershell)
- Experience with Git or similar version control
- Experience with Linux development, kernel development, U-boot, Snaps, or SnapCraft
WHAT YOU WILL EXPERIENCE IN THIS POSITION:
- Research and Development: Create new products for global markets and refresh existing products.
- Agile Development: Join a Collaborative Agile Team to deliver cutting-edge digital solutions.
- Comprehensive Firmware Development: Supported by senior embedded firmware developers, engage in the complete embedded firmware software development lifecycle including:
- Refining software and testing requirements with Product Management
- Implementing requirements and tests in embedded firmware by programming in C, C++, or Rust.
- Participating in design and code reviews
- Debugging firmware using appropriate techniques and tools
- Troubleshooting: Diagnose the interaction of embedded firmware and hardware using JTAG, oscilloscopes, logic analyzers, etc.
- Testing: Draft test plans. Program unit tests, integration tests, and hardware in the loop tests.
- Documenting: Creating technical documentation for internal and external use.
- Using GitLab, Jira, and Microsoft Teams to collaborate with team members
Requirements
undetermined
undetermined
undetermined
undetermined
Other S.i. Systems's offers that may interest you