{"id":1345875,"url":"https://alion.io/job/davis-instruments-sr-firmware-developer","title":"Sr. Firmware Developer","company":{"id":1767699,"name":"Davis Instruments","domain":"davisnet.com","url":"https://alion.io/company/davisnet-com","size_band":"501-1000","is_staffing_agency":false,"employer_type":"direct","is_intermediary":false,"listed_via":null,"ats_vendor":"Paylocity","truth_index":null},"role":"Hardware","role_family":"Hardware","seniority":"senior","employment_type":null,"work_mode":"on_site","remote_scope":null,"remote_scope_basis":null,"remote_working_hours":null,"hiring_geo_confidence":"explicit","locations":[],"countries":[],"hiring_countries":[],"hiring_countries_total":0,"salary":null,"salary_estimate":null,"experience_years_min":7,"visa_sponsorship":true,"relocation_package":false,"has_equity":false,"technologies":[{"name":"C++","optional":false},{"name":"Embedded C","optional":false},{"name":"RTOS","optional":false},{"name":"Wi-Fi","optional":false},{"name":"C","optional":true},{"name":"CI/CD","optional":true},{"name":"Jenkins","optional":true},{"name":"Kotlin","optional":true},{"name":"Linux","optional":true},{"name":"Python","optional":true},{"name":"Qt","optional":true}],"status":"live","first_seen_at":"2026-09-09T13:40:23Z","employer_posted_date":"2026-09-27","last_verified_at":"2026-09-29T05:46:22Z","board_verified":false,"closed_at":null,"days_open":21,"trust":{"level":"ok","repost_count":null,"flags":[],"days_open":21},"description":"Description\nAEM (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.\nAEM 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.\nThe 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.\nJob Responsibilities:\nEmbedded Firmware Architecture & System Design\nLead firmware architecture for embedded products ranging from bare-metal systems to multi-threaded RTOS-based applications.\nTranslate product and system requirements into firmware designs, interfaces, task structures, state machines, and hardware abstraction layers.\nEvaluate design tradeoffs involving performance, memory, power, reliability, complexity, reuse, and long-term maintainability.\nDefine modular and reusable firmware components that can be applied across product families and hardware platforms where appropriate.\nFirmware Development & Implementation\nDesign, implement, review, and maintain production embedded software in C/C++ for microcontroller-based products.\nDevelop device drivers, board-support software, communications interfaces, control logic, data acquisition, storage, and scheduled transmission functions.\nImplement safe concurrency using RTOS tasks, queues, mutexes, semaphores, timers, and interrupt-driven designs.\nApply structured design, object-oriented design where appropriate, coding standards, defensive programming, and clear error-handling practices.\nMaintain build configurations, source control practices, technical documentation, and reproducible firmware build outputs.\nHardware Integration & Product Bring-Up\nPartner with electronic designers to define processor, peripheral, memory, power-control, and communication requirements.\nRead 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.\nUse oscilloscopes, logic analyzers, debuggers, protocol analyzers, and other laboratory tools to diagnose board- and system level issues.\nTroubleshoot interactions among firmware, PCBs, sensors, power supplies, communications modules, and electromechanical assemblies.\nVerification, Reliability & Quality\nDevelop unit, integration, hardware-in-the-loop, regression, fault-injection, and long-duration tests appropriate to embedded products.\nReview code and designs for correctness, concurrency hazards, resource use, error recovery, maintainability, and testability.\nDesign for reliable operation through communication loss, peripheral faults, power interruptions, brownouts, watchdog resets, and other field conditions.\nWork with QA and product validation teams to investigate defects, reproduce failures, and verify corrective actions.\nProduct Release & Lifecycle Support\nSupport firmware through prototype builds, formal qualification, production release, configuration control, and field deployment.\nProduce release-ready firmware packages, release notes, build records, and technical evidence required by the product release process.\nLead root-cause analysis for production and field failures and implement corrective actions that improve product reliability.\nSupport legacy product sustainment, including component changes, hardware revisions, defect correction, cybersecurity updates, and technical debt reduction.\nUse field, service, and test feedback to guide design improvements and future platform decisions.\nThis 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.\nRequirements\nBachelor’s degree in Computer Science, Electrical Engineering, Computer Engineering, or a closely related discipline.\nMinimum 7 years of relevant experience developing embedded systems and production firmware.\nProven record of architecting, developing, debugging, and releasing microcontroller-based embedded products.\nExcellent written and verbal communication skills, with demonstrated success working within and across functional teams.\nAdvanced proficiency in embedded C/C++ and experience with memory-constrained, resource-constrained systems.\nSystem-level firmware architecture experience, from task scheduling and application logic through low-level device drivers and hardware abstraction layers.\nHands-on experience with an RTOS and multi-threaded systems, including synchronization, inter-task communication, timing, and concurrency debugging.\nExperience with structured design, modular code, interface design, code reuse, and maintainable embedded software practices.\nStrong understanding of interrupts, timers, DMA, memory management, boot processes, watchdogs, and embedded fault handling.\nPreferred Experience:\nLow-power environmental monitoring, remote sensing, industrial IoT, dataloggers, or telemetry products.\nSensor acquisition and instrumentation interfaces such as SDI-12, 4-20 mA, pulse, analog, or serial sensors.\nReliable local data storage, file systems, databases, data integrity, and recovery from unexpected power loss.\nEmbedded graphical user interfaces using TouchGFX, Qt, or similar frameworks.\nEmbedded Linux, Contiki OS, Kotlin, Python, or scripting used for development and automated testing.\nCI/CD systems such as Jenkins and static-analysis or code-quality tools.\nSecure communications, device update mechanisms, cybersecurity practices, or connected-device provisioning.\nRegulated, ruggedized, high-reliability, or long-lifecycle products used in remote or harsh environments.\nAdditional Information:\nThis is a hybrid opportunity that must be performed at/near our office in Victoria, B.C.\nMust 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.\nCompensation 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.\nThis position will accept applications on an ongoing basis and will be closed once the position is filled.\nAEM 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.","description_format":"text","description_chars":8123,"description_truncated":false,"requirements":{"experience_years_min":7,"management_years_min":null,"team_size_min":null,"manages_managers":false,"education":{"level":"bachelor","optional":false},"security_clearance":false,"languages":[]},"benefits":[],"hiring_locations":[{"name":"Canada","iso":"CA","kind":"country"}],"hiring_excludes":[],"relocation_offered":false,"industries":["Information Security"],"lifecycle":[{"event":"open","at":"2026-09-27T16:43:47Z"}],"liveness":{"score":69,"band":"ok","label":"Likely open","p_open":1,"p_active":0.765,"p_room":0.9,"age_days":21,"expected_fill_days":39,"reasons":["conf:47","win:mid"],"computed_at":"2026-10-01T05:45:00Z"},"pay":null,"html_url":"https://alion.io/job/davis-instruments-sr-firmware-developer","json_url":"https://alion.io/job/davis-instruments-sr-firmware-developer.json","meta":{"generated_at":"2026-10-01T12:39:38Z","cache_seconds":300,"methodology":"https://alion.io/methodology","terms":"https://alion.io/terms","contact":"https://alion.io/contact","api":"https://alion.io/developers","usage":{"tier":"crawler","counted_by":"address","units_charged":1,"used_today":4032,"day_limit":5000,"remaining_today":968,"minute_limit":60,"resets_at":"2026-10-02T00:00:00Z"}}}