996,562open jobs
59,446companies
165,965added this week
Browse all
Location
In office
Seniority
Senior · 7+ years exp

First seen by Alion on Sep 9, 2026.

Overview
Company
Impact
Profile match
Discover high-quality weather instruments for accurate data collection. Shop Davis Instruments for reliable weather stations and sensors.

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.

Free account
Stop reading job ads. Get the ones that fit.
One free account turns this page into a shortlist built around your stack, your level and your pay.
Match on every job. Stack, seniority, pay and location, scored against your profile.
996,562 open roles. Read straight off company career pages, refreshed every day.
Unlimited applications. Every one you send is tracked in one place, on-site or on a company board.
3 tailored CVs a month. Rewritten for the exact job you are applying to. Included free.
Create a free account Continue with Google
Free forever. No card. Under a minute.

Your match

How well do you fit this role?
Two answers are enough for a real match. No account needed.
Check my fit
Answers stay in this browser until you create an account.

Recommended for you based on this role

Hardware
Similar stack
Same company
In your city
≈ $64k – $147k per year (Estimated) • In office • Full-Time • 5+ years exp • Lund
Management
Intercom
Apply
≈ $137k – $256k per year (Estimated) • Hybrid • Full-Time • Newberg
Chips/EDA
Altium Designer
LTspice
Design
AutoCAD
Apply
≈ $113k – $212k per year (Estimated) • Hybrid • Full-Time • 5+ years exp • Newberg
DevOps
Wi-Fi
Chips/EDA
Altium Designer
LTspice
Design
AutoCAD
Apply
$145k – $200k per year • Equity • In office • Secret • Full-Time • 3+ years exp • Bachelor's Degree • Oxnard
C++
Assembly
MATLAB
MATLAB
Simulink
DevOps
RTOS
Chips/EDA
JTAG Debuggers
IoT
FreeRTOS
Apply
$23k – $38k per year (gross) • In office • Full-Time • 2+ years exp • Singapore
Apply
$130k – $195k per year • Remote (United States) • 6+ years exp • PhD
Python
C
C++
C
Embedded C
C++
CMake
AI/ML
Edge AI
DevOps
GCP
Azure DevOps
GitHub Actions
RTOS
Prometheus
GitLab CI
Azure
CI/CD
Jenkins
Git
AWS
Bazel
Cortex
Linux
TCP/IP
Wi-Fi
Chips/EDA
JTAG Debuggers
IoT
MQTT
LoRaWAN
Zigbee
FreeRTOS
Management
Agile
Scrum
Apply
$145k – $205k per year • Remote (United States) • 6+ years exp • PhD
Rust
SQL
C++
Rust
Actix Web
Axum
Rocket
Databases
MySQL
PostgreSQL
Redis
NATS
Cassandra
DynamoDB
RabbitMQ
Apache Kafka
DevOps
gRPC
Terraform
GCP
Istio
OpenTelemetry
Linkerd
Prometheus
Pulumi
WebSockets
Azure
CI/CD
Git
AWS
Docker
Kubernetes
Grafana
Platform Engineering
Service Mesh
API Gateway
Linux
Management
Agile
Apply
$100k – $150k per year • Remote (United States) • 6+ years exp • Bachelor's Degree
Python
Java
C++
MATLAB
Databases
KDB+
Apply
$100k – $105k per year • Remote (United States) • 6+ years exp • Bachelor's Degree
Python
C++
AI/ML
Quantization
Federated Learning
Edge AI
Machine Learning
Apply
$100k – $150k per year • Remote (United States) • 6+ years exp • Bachelor's Degree
Go
Java
Rust
C++
Scala
Databases
NATS
Apache Kafka
DevOps
Kubernetes
Platform Engineering
Service Mesh
Apply
$80k – $108k per year • Hybrid • 8+ years exp • Delft
Python
C++
DevOps
RTOS
Prometheus
Azure
CI/CD
AWS
Cortex
GitHub
IoT
FreeRTOS
Management
Agile
Apply
≈ $24k – $69k per year (Estimated) • Remote (Australia) • 2+ years exp • Sydney
Python
JavaScript
SQL
DevOps
Linux
Management
Outlook
Microsoft Teams
Microsoft Office
Apply
Field Engineer I 4 days ago
$55k – $70k per year • Hybrid • 1+ year exp • Associate's Degree • Georgetown
DevOps
Windows
TCP/IP
Apply
Field Engineer I 4 days ago
$55k – $70k per year • Hybrid • 1+ year exp • Associate's Degree • Dallas
DevOps
Windows
TCP/IP
Apply
Production Worker 4 days ago
≈ $34k – $61k per year (Estimated) • In office • Full-Time • 2+ years exp • High School Diploma • Hayward
Apply
See all jobs
This is one of many
996,562 more open roles from verified company boards, updated every day.