Apply now

Posted 2 months ago

Sr. Firmware Developer

@ AEM

Victoria, British Columbia

$85k–$110k/yr7+ years experience
Apply now
SIGNALS

Overview

AEM, a global leader in weather, wildfire and water monitoring, is hiring a Senior Firmware Developer for its Victoria, B.C. office. The role leads embedded firmware architecture and hands-on development, bring-up and release for environmental monitoring products. Hybrid, at or near the Victoria office; salary range $85,000 to $110,000 CAD per year.

Pay:

$85,000–$110,000 a year

Responsibilities:

  • Lead firmware architecture for embedded environmental monitoring products
  • Develop production C/C++ firmware for microcontroller-based products
  • Bring up new boards and validate communication interfaces
  • Lead root-cause analysis of production and field failures
  • Support firmware through release and legacy sustainment

Requirements summary:

  • Bachelor's degree in computer science or electrical/computer engineering
  • Minimum 7 years of embedded firmware development experience
  • Advanced embedded C/C++ with resource-constrained systems
  • Hands-on RTOS and multi-threaded systems experience
  • Strong understanding of interrupts, DMA, watchdogs and boot processes

Tools & skills

Source and dates

Employer career site / ATS feed · paylocity

Employer posting date
2026-09-09
First seen by our source
2026-10-13
Source record updated
2026-10-16

These dates describe the source record, not a live verification that the employer is still hiring. Check the original posting.

Job details

SenioritySenior
DepartmentEngineering
Experience7+ years
Travelair: none · ground: none
Work settingLaboratory, Office
PositionSitting and standing
Physical demandsphysical low · computer high
LanguagesEnglish
EducationBachelor’s degree (required)
Fields of studyComputer Science, Electrical Engineering, Computer Engineering

Summary and details written by AI from the posting; the employer’s posting is the authority.

FieldValue
Company size201-500
Open jobs on Jobsy7
Job description

AEM (Advanced Environmental Monitoring) is the global leader in innovative mission critical weather, wildfire and water monitoring and intelligence solutions. We aim to be the world’s essential source for environmental insights – enabling decisive action and positive outcomes for our customers and their constituents. Our family of innovators offers world-class hydrometeorological technologies and services, including sensors, dataloggers, telemetry, and advanced analytics and software. Our technology and services empower the communities and organizations to survive – and thrive – in the face of escalating environmental risks.

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.

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.

Preferred Experience:

  • Low-power environmental monitoring, remote sensing, industrial IoT, dataloggers, or telemetry products.
  • Sensor acquisition and instrumentation interfaces such as SDI-12, 4-20 mA, 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 $85,000 - $110,000 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, candidate's 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.

Similar jobs

  • Firmware Developer

    Montréal, QC
    Full Time

    Puzzle Medical Devices: Canadian-based medical device company building world's first minimally invasive heart pump for patients with advanced heart failure.

    5+ YOECandidates need a bachelor's or higher in electrical, computer engineering or computer science, 5+ years of embedded C/C++ firmware work, hands-on debugging with oscilloscopes and logic analyzers, Git/GitLab and embedded unit testing experience.

    Git, GitLab, oscilloscope, logic analyzer, debugger, CMock

  • Senior Firmware Developer

    Burnaby, BC
    On-siteFull Time

    Algo Communication Products: Founded in 1968, Algo has been a telecommunications or information technology company with over 50 years of experience developing, designing, and…

    5+ YOECandidates need a bachelor's degree or equivalent experience, 5+ years of software development and 3+ years of embedded development, plus skill in C, Bash, Linux and source control. They must have unrestricted right to work in Canada and already live in Metro Vancouver.

    Wireshark, TI ARM AM335x, TI ARM AM625, TI ARM DM81xx, TI ARM DM64xx, TI ARM AM57xx

  • Senior Firmware Developer

    Waterloo, ON
    Full Time

    onsemi: With a focus on automotive and industrial end-markets, the company is accelerating change in megatrends such as vehicle electrification and safety,…

    3+ YOECandidates need a Bachelor's or Master's degree in an engineering discipline and 3-5 years of embedded firmware experience. Strong embedded C, microprocessor and communication protocol knowledge (UART, I2C, SPI, USB) and experience with AI-assisted development tools are required.

    Git, JIRA, FPGA, oscilloscope, logic analyzer, hardware debugger

  • Firmware Developer III

    Toronto, ON
    Full Time

    Mueller Canada, LTD

    6+ YOECandidates need a bachelor's degree in electrical engineering, computer science or a similar field, 6+ years of firmware development and 4+ years of embedded C. Strong MCU, hardware debugging and problem-solving skills are required.

    oscilloscope, logic analyzer, signal generator, Linux, GitHub Copilot

  • Senior Firmware Developer

    Mount Pearl, NL +1
    Full Time

    Kraken Robotics Inc.: is a marine technology company engaged in the design, development and marketing of advanced sensors for Unmanned Underwater Vehicles used in…

    7+ YOECandidates need a degree in electrical or computer engineering or a related field and 7+ years of embedded C++ firmware experience. They also need real-time systems skills, Git and GitLab experience, and Python for testing.

    C++, RTOS, Git, GitLab, Docker, Python

  • Firmware Developer

    Mississauga, ON
    $100k–$125k/yr

    ASSA ABLOY

    5+ YOECandidates need 5 to 7 years of embedded firmware or software experience, strong C programming skills, and experience with microcontrollers and wireless protocols such as BLE and Wi-Fi. A related engineering or computer science education is preferred, and the candidate must be legally eligible to work in Canada.

    Git, RTOS

    Firmware Developer

    Kelowna, BC

    ASSA ABLOY

    3+ YOECandidates need 3+ years of embedded firmware or hardware experience, skill with microcontrollers and embedded C/C++, and a bachelor's degree in electrical engineering, electronic technologies or computer science. Experience with lighting control protocols and low-voltage systems is an asset.

    Oscilloscope, Logic analyzer, Silicon Labs microcontrollers, STM32, NXP microcontrollers, Zigbee stacks

  • Firmware Developer

    Kitchener, ON
    $85k–$115k/yrHybridFull Time

    Miovision: Miovision provides cities with modern tools to fix today's traffic problems.

    Candidates need solid embedded and firmware experience, strong C/C++ and Python skills, and hands-on work with UART, I2C, SPI, USB and Ethernet. Comfort with Linux, schematics, datasheets and an oscilloscope is expected.

    oscilloscope, Git, Docker, CMake, AWS, Yocto

Locations & environments

Locations

All of CanadaRemote · Hybrid · On-site · Field

Pro tip: add remote jobs to widen your search.

Exclude locations

Workplace type

Company jobs in these results

These are this company’s jobs loaded in your current search. The company may have more openings.