27 Sep
|
S.I. Systems
|
Toronto
27 Sep
S.I. Systems
Toronto
Our client is looking for a Sr.
Firmware
Developer to take ownership of product firmware, features, and the full lifecycle across microcontroller-based products. Permanent / Full-Time Onsite in Mississauga Overview: A hands‑on development role focused on bare-metal embedded firmware development, hardware/software integration, and delivering production‑ready firmware from concept through field support. The successful candidate will bring strong C/Embedded C experience, deep microcontroller expertise, and the ability to independently drive firmware architecture, development, debugging, validation, and release.
This is more than a coding role — you’ll take ownership of firmware outcomes, working closely with electrical, software, manufacturing, quality, product, and service teams to deliver reliable products.
Responsibilities
- Firmware Ownership: Take ownership of firmware development, implementation, verification, release, and ongoing maintenance for assigned products or product platforms.
- Embedded Firmware Development: Develop robust embedded firmware primarily in C/Embedded C, including low-level drivers, hardware abstraction layers, control logic, state machines, communication handlers, diagnostics, and fault‑handling functionality.
- Hardware Integration & Debugging: Support hardware bring‑up, prototype validation, production launch, and field investigations. Use oscilloscopes, logic analyzers, protocol analyzers, multimeters, signal generators, and JTAG/SWD debuggers to identify and resolve complex hardware and firmware issues.
- Product Development: Translate product and system requirements into clear firmware designs, modules, interfaces,
and testable deliverables while making technical decisions around timing, peripherals, communication interfaces, diagnostics, and firmware updates.
- Verification & Testing: Create and execute firmware test strategies, validation plans, bench‑level testing, regression testing, and verification activities to ensure stable, production‑ready releases.
- Release Management: Support firmware release documentation, version control, build artifacts, release notes, and traceability between requirements and validation results.
- Root Cause Analysis: Investigate field issues, intermittent system faults, communication failures, sensor and actuator issues, resets, watchdog events, and other system‑level problems using structured troubleshooting techniques.
- Cross‑Functional Collaboration: Work closely with electrical, software, manufacturing, quality, product, and service teams to resolve technical issues and support successful product delivery.
- Continuous Improvement: Improve firmware architecture, code quality, validation practices, debugging efficiency, product reliability, and long‑term maintainability across product generations.
- Mentorship: Share technical knowledge and mentor junior and intermediate engineers on firmware design, debugging techniques, coding practices,
and product ownership.
Must Haves
- 8+ years of professional embedded firmware development experience, with strong hardware/software debugging experience - Strong C / Embedded C programming experience, with C++ experience considered an asset - Strong hands‑on experience developing bare‑metal firmware for microcontrollers - Experience with low‑level drivers, interrupts, state machines, hardware interfaces, and embedded control logic - Robust understanding of common microcontroller peripherals such as GPIO, timers, ADC, PWM, UART, SPI, I2C, and CAN - Robust hands‑on hardware/firmware debugging experience, including the use of oscilloscopes, logic analyzers, multimeters, and JTAG/SWD debuggers - Experience with Git or similar version control systems - Experience with firmware testing, version control, code reviews, and release processes - Bachelor’s degree in Electrical Engineering, Computer Engineering, Software Engineering, Computer Science, or equivalent technical discipline Nice to Haves:
- Python scripting experience - Experience with CI/CD pipelines, static analysis, unit testing, and code coverage tools - Experience mentoring junior/intermediate firmware engineers - Experience with STM32, NXP, Microchip, TI, Renesas, Nordic, ESP32, or similar microcontroller platforms - Experience with Visual Studio Code, Eclipse, MPLAB X, or STM32CubeIDE - Experience with CAN/CANopen, RS-485, Modbus, USB, Ethernet/TCP-IP, or MQTT - Experience with FreeRTOS, ThreadX, or Zephyr Disclaimer: AI may be used in evaluating candidates. This posting is for an existing vacancy.
📌 Sr. Firmware Developer x2 (Toronto)
🏢 S.I. Systems
📍 Toronto