Sr. Firmware Developer
Job Summary
AEM is seeking a Senior Firmware Developer with deep experience developing embedded products from architecture through production release and lifecycle support. This role is responsible for designing reliable maintainable firmware for environmental monitoring products and for creating reusable architectures and components that can support multiple products and platforms where practical.
The ideal candidate combines strong embedded software fundamentals with hands-on hardware integration system debugging verification and technical leadership. This is a hands-on product development role - not solely an architecture research or prototype-focused position.
Job Responsibilities:
Embedded Firmware Architecture & System Design
- 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 that can be applied across product families and hardware platforms where appropriate.
Firmware Development & Implementation
- 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.
- Apply structured design object-oriented design where appropriate coding standards defensive programming and clear error-handling practices.
- Maintain build configurations source control practices technical documentation and reproducible firmware build outputs.
Hardware Integration & Product Bring-Up
- Partner with electronic designers to define processor peripheral memory power-control and communication requirements.
- Read schematics and datasheets bring up new boards and validate interfaces such as UART SPI I2C USB Ethernet Wi-Fi Bluetooth/BLE and cellular or satellite communications.
- Use oscilloscopes logic analyzers debuggers protocol analyzers and other laboratory tools to diagnose board- and system level issues.
- Troubleshoot interactions among firmware PCBs sensors power supplies communications modules and electromechanical assemblies.
Verification Reliability & Quality
- Develop unit integration hardware-in-the-loop regression fault-injection and long-duration tests appropriate to embedded products.
- 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.
Product Release & Lifecycle Support
- 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 required by the product release process.
- Lead root-cause analysis for production and field failures and implement corrective actions that improve product reliability.
- 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.
This job description may not be inclusive of all assigned duties responsibilities or aspects of the job described and may be amended at any time at the sole discretion of the Employer.
- Bachelors 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.
Preferred Experience:
- Low-power environmental monitoring remote sensing industrial IoT dataloggers or telemetry products.
- Sensor acquisition and instrumentation interfaces such as SDImA pulse analog or serial sensors.
- Reliable local data storage file systems databases data integrity and recovery from unexpected power loss.
- Embedded graphical user interfaces using TouchGFX Qt or similar frameworks.
- Embedded Linux Contiki OS Kotlin Python or scripting used for development and automated testing.
- CI/CD systems such as Jenkins and static-analysis or code-quality tools.
- Secure communications device update mechanisms cybersecurity practices or connected-device provisioning.
- Regulated ruggedized high-reliability or long-lifecycle products used in remote or harsh environments.
Additional Information:
- This is a hybrid opportunity that must be performed at/near our office in Victoria B.C.
- Must be eligible to work in the Canada without company sponsorship now or in the future for employment-based work authorization. F-1 visa holders with Optional Practical Training (OPT) who will require H-1B status TNs or current H-1B visa holders will not be considered. H1-B and green card sponsorship is not available for this position.
Compensation Range: A reasonable estimate of the current salary range for this position is $85000 - $110000 CAD per year. Please note that the salary information is a general guideline only. AEM considers a wide range of factors such as (but not limited to) scope and responsibilities of the position candidates work experience education licensure and certifications key skills as well as other market and business considerations when extending an offer. The disclosed range estimate has not been adjusted for the applicable geographic differential associated with the location at which the position may be filled.
This position will accept applications on an ongoing basis and will be closed once the position is filled.
AEM is an Equal Opportunity Employer. All qualified applicants will receive consideration for employment without regard to race color religion sex sexual orientation gender identity national origin age pregnancy genetic information disability status as a protected veteran or any other protected category under applicable federal state and local laws.
Required Experience:
Senior IC
About Company
We are the essential source for environmental insights, enabling decisive action and positive outcomes in the face of environmental risks.