Senior Firmware Developer
Jobtailor
- Lead firmware architecture for embedded products ranging from bare-metal systems to multi-threaded RTOS-based applications
- Translate product and system requirements into firmware designs, interfaces, task structures, state machines, and hardware abstraction layers
- Evaluate design tradeoffs involving performance, memory, power, reliability, complexity, reuse, and long-term maintainability
- Define modular and reusable firmware components across product families and hardware platforms
- Design, implement, review, and maintain production embedded software in C/C++ for microcontroller-based products
- Develop device drivers, board-support software, communications interfaces, control logic, data acquisition, storage, and scheduled transmission functions
- Implement safe concurrency using RTOS tasks, queues, mutexes, semaphores, timers, and interrupt-driven designs
- Maintain build configurations, source control practices, technical documentation, and reproducible firmware build outputs
- Partner with electronic designers on processor, peripheral, memory, power-control, and communication requirements
- Read schematics and datasheets, bring up new boards, and validate UART, SPI, I2C, USB, Ethernet, Wi-Fi, Bluetooth/BLE, cellular, and satellite interfaces
- Diagnose board- and system-level issues using oscilloscopes, logic analyzers, debuggers, and protocol analyzers
- Troubleshoot interactions among firmware, PCBs, sensors, power supplies, communications modules, and electromechanical assemblies
- Develop unit, integration, hardware-in-the-loop, regression, fault-injection, and long-duration tests
- Review code and designs for correctness, concurrency hazards, resource use, error recovery, maintainability, and testability
- Design for reliable operation through communication loss, peripheral faults, power interruptions, brownouts, watchdog resets, and other field conditions
- Work with QA and product validation teams to investigate defects, reproduce failures, and verify corrective actions
- Support firmware through prototype builds, formal qualification, production release, configuration control, and field deployment
- Produce release-ready firmware packages, release notes, build records, and technical evidence
- Lead root-cause analysis for production and field failures and implement corrective actions
- Support legacy product sustainment, including component changes, hardware revisions, defect correction, cybersecurity updates, and technical debt reduction
- Use field, service, and test feedback to guide design improvements and future platform decisions
Requirements
- Bachelor’s degree in Computer Science, Electrical Engineering, Computer Engineering, or a closely related discipline
- Minimum 7 years of relevant experience developing embedded systems and production firmware
- Proven record of architecting, developing, debugging, and releasing microcontroller-based embedded products
- Excellent written and verbal communication skills, with demonstrated success working within and across functional teams
- Advanced proficiency in embedded C/C++ and experience with memory-constrained, resource-constrained systems
- System-level firmware architecture experience, from task scheduling and application logic through low-level device drivers and hardware abstraction layers
- Hands-on experience with an RTOS and multi-threaded systems, including synchronization, inter-task communication, timing, and concurrency debugging
- Experience with structured design, modular code, interface design, code reuse, and maintainable embedded software practices
- Strong understanding of interrupts, timers, DMA, memory management, boot processes, watchdogs, and embedded fault handling
- Must be eligible to work in Canada without company sponsorship, now or in the future, for employment-based work authorization
- Preferred: low-power environmental monitoring, remote sensing, industrial IoT, dataloggers, or telemetry products
- Preferred: sensor acquisition and instrumentation interfaces such as SDI-12, 4-20 mA, pulse, analog, or serial sensors
- Preferred: reliable local data storage, file systems, databases, data integrity, and recovery from unexpected power loss
- Preferred: embedded graphical user interfaces using TouchGFX, Qt, or similar frameworks
- Preferred: Embedded Linux, Contiki OS, Kotlin, Python, or scripting used for development and automated testing
- Preferred: CI/CD systems such as Jenkins and static-analysis or code-quality tools
- Preferred: secure communications, device update mechanisms, cybersecurity practices, or connected-device provisioning
- Preferred: regulated, ruggedized, high-reliability, or long-lifecycle products used in remote or harsh environments
Core Competencies
Demonstrates expertise in firmware architecture and development for embedded systems, with a strong focus on C/C++ programming, RTOS implementation, and system-level design. Proven ability to lead projects, troubleshoot complex issues, and ensure high reliability in production firmware.
Highest-signal resume keywords
- Embedded C/C++ Development
- RTOS Implementation
- Firmware Architecture Design
- Microcontroller-Based Systems
- Debugging and Troubleshooting
ATS Optimization Keywords
Hard Skills
- Firmware Design
- Device Driver Development
- Task Scheduling
- Concurrency Debugging
- Memory Management
- Code Review
- Unit Testing
- Integration Testing
- Fault Handling
- Technical Documentation
Soft Skills
- Excellent Communication Skills
- Team Collaboration
Industry Keywords
- Embedded Systems
- Low-Power Environmental Monitoring
- Industrial IoT
- Telemetry Products
- Cybersecurity Practices
Tools & Technologies
- Oscilloscope
- Logic Analyzer
- Protocol Analyzer
- CI/CD Systems
- Static-Analysis Tools
Reference: WJ-3875_12647354