Lead Embedded Developer
Role Overview
Take ownership of firmware architecture and implementation for a next-generation fleet of connected IoT devices, including telematics units, video systems, and asset tracking hardware. You'll work at the intersection of software and hardware, ensuring robust, secure, and efficient performance across diverse embedded platforms.
Key Responsibilities
- Gain deep technical insight into embedded device functionality, analyzing how firmware modules interact across product lines.
- Design and implement modular, reusable firmware using test-driven development principles and hardware-agnostic design patterns.
- Develop embedded software in C, C++, Rust, Go, and Python for RTOS, bare-metal, and Embedded Linux environments, following strict coding and security standards.
- Contribute to system architecture decisions across domains such as vehicle data acquisition, wireless communication (Bluetooth, WiFi, NFC), GNSS, and inertial sensing.
- Write and maintain unit, integration, and system-level tests to validate functionality in both simulated and real-world conditions.
- Partner closely with hardware engineers to interpret datasheets, design drivers, and ensure seamless integration of components.
- Perform thorough code reviews and lead debugging efforts using logic analyzers, oscilloscopes, and JTAG tools to resolve complex hardware-software issues.
- Maintain accurate, up-to-date documentation for all firmware components and development processes.
Required Qualifications
- 8–10 years of hands-on experience in embedded systems development, with proven work in RTOS and multi-threaded Embedded Linux environments.
- Diploma or degree in Computer Science, Computer Engineering, Electrical Engineering, or a related technical field.
- Advanced expertise in C; strong experience with C++, Rust, or Go is highly valued.
- Firm understanding of microcontroller architectures and communication protocols including UART, SPI, I2C, and CAN.
- Ability to read and interpret hardware schematics and datasheets to inform software design.
- Experience with SDLC practices, including CI/CD pipelines, Yocto or Buildroot, Git, JIRA, and SQL.
- Strong communication skills, with the ability to clearly articulate technical trade-offs and design decisions in writing and conversation.
Technical Environment
Development spans C, C++, Rust, Go, Python, and Bash across RTOS, Embedded Linux, and bare-metal platforms. Hardware interfaces include UART, SPI, I2C, CAN, Bluetooth, WiFi, NFC, GNSS, and inertial sensors. Build and deployment tools include Yocto, Buildroot, Git, JIRA, and SQL. Debugging leverages logic analyzers, oscilloscopes, and JTAG.
Work Model
This is a hybrid role with a flexible approach to in-person and remote work. Employees are supported with cloud-based tools and collaboration platforms, enabling asynchronous workflows. A reliable internet connection (minimum 50mb downlink, 10mb uplink) is required for remote access.
Benefits
- Flexible working arrangements
- Home office setup reimbursement
- Parental leave support and baby bonus program
- Access to online learning and professional networking
- Electric vehicle purchase incentive
- Comprehensive medical and dental coverage
- Retirement savings plan
Compensation
Annual salary range: $125,000 – $160,000 CAD
Company Culture
Work within a diverse, skilled team that values innovation, collaboration, and inclusion. The environment supports fast iteration while respecting work-life balance. Online gatherings, chat communities, and virtual events foster connection. The organization is committed to accessibility and equity in hiring, development, and advancement.
Equal Opportunity
We welcome applications from all qualified candidates and are dedicated to providing accommodations for individuals with disabilities throughout the hiring process. For accommodation requests or further details, please contact the recruitment team.


