Sr. Firmware Developer

at  AEMFTS

Victoria, BC, Canada -

Start DateExpiry DateSalaryPosted OnExperienceSkillsTelecommuteSponsor Visa
Immediate07 Nov, 2024USD 68000 Annual08 Aug, 20244 year(s) or aboveQt,Unit Testing,Embedded Systems,Power Supplies,Computer Science,Devops,Storage,Gui Development,Test Driven Development,Embedded Linux,Data Collection,Jenkins,ValidationNoNo
Add to Wishlist Apply All Jobs
Required Visa Status:
CitizenGC
US CitizenStudent Visa
H1BCPT
OPTH4 Spouse of H1B
GC Green Card
Employment Type:
Full TimePart Time
PermanentIndependent - 1099
Contract – W2C2H Independent
C2H W2Contract – Corp 2 Corp
Contract to Hire – Corp 2 Corp

Description:

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 to join our team! As a senior firmware engineer at AEM, you will be responsible for leading the development of firmware for our environmental monitoring products. You will also play a critical role in ensuring the firmware is designed for reuse across multiple products and platforms, where possible.

Requirements:

  • Bachelor’s Degree in computer science, electrical engineering, or closely related fields.
  • A minimum of 7+ years relevant experience in embedded systems development.
  • Proven track record developing processor based embedded systems.
  • Excellent written and verbal communications skills, excelling in working withing and across functional teams.
  • Preference will be given to candidates who are located in the Victoria, BC region; the position is remote but will require occasional travel to the Victoria office for team collaboration.
  • Experience with system level and architecture design of embedded systems is a must.
  • Ability to architect embedded firmware, from high level task scheduling to low level HALs.
  • Knowledge and hands-on experience of RTOS is a must.
  • Must have experience on multi-threading system.
  • Experience in structured design, OOD, code reusability, and best practices for embedded systems.
  • Must be experienced with the following interfaces/protocols - UART, SPI, USB, Ethernet, Wifi, Bluetooth/BLE.
  • Must be able to read and understand schematics and be capable of debugging new designs.
  • Ability to troubleshoot product failures on PCBs, power supplies and electromechanical assemblies
  • Extensive experience of firmware code reviews, test and validation methodologies.
  • Experience with unit testing and test-driven development (Devops experience configuring and maintaining Jenkins is highly desirable)
  • Experience with low power data collection, storage, and scheduled transmission designs
  • Experience with sensor protocols (SDI-12, 4-20 mA loops, etc)
  • Experience with any of the following is highly desirable: Kotlin, Contiki OS, Embedded Linux
  • Experience with GUI development (QT, TouchGFX, etc) is highly desirable

How To Apply:

Incase you would like to apply to this job directly from the source, please click here

Responsibilities:

  • Under minimal supervision, the Senior Firmware Developer will architect, design and create firmware for embedded systems of various complexities (bare-metal, RTOS) with a focus on code reusability.
  • Conduct research and evaluation of new technologies in embedded firmware development.
  • Develop and maintain documentation on the build status of the code.
  • Responsible for mentoring and coaching less experienced firmware developers.

Requirements:

  • Bachelor’s Degree in computer science, electrical engineering, or closely related fields.
  • A minimum of 7+ years relevant experience in embedded systems development.
  • Proven track record developing processor based embedded systems.
  • Excellent written and verbal communications skills, excelling in working withing and across functional teams.
  • Preference will be given to candidates who are located in the Victoria, BC region; the position is remote but will require occasional travel to the Victoria office for team collaboration.
  • Experience with system level and architecture design of embedded systems is a must.
  • Ability to architect embedded firmware, from high level task scheduling to low level HALs.
  • Knowledge and hands-on experience of RTOS is a must.
  • Must have experience on multi-threading system.
  • Experience in structured design, OOD, code reusability, and best practices for embedded systems.
  • Must be experienced with the following interfaces/protocols - UART, SPI, USB, Ethernet, Wifi, Bluetooth/BLE.
  • Must be able to read and understand schematics and be capable of debugging new designs.
  • Ability to troubleshoot product failures on PCBs, power supplies and electromechanical assemblies
  • Extensive experience of firmware code reviews, test and validation methodologies.
  • Experience with unit testing and test-driven development (Devops experience configuring and maintaining Jenkins is highly desirable)
  • Experience with low power data collection, storage, and scheduled transmission designs
  • Experience with sensor protocols (SDI-12, 4-20 mA loops, etc)
  • Experience with any of the following is highly desirable: Kotlin, Contiki OS, Embedded Linux
  • Experience with GUI development (QT, TouchGFX, etc) is highly desirable.

Additional Information:

  • This is a hybrid opportunity that can be done from anywhere near the Victoria, British Columbia area.
  • Must be eligible to work in 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.

Canadian Compensation Range: A reasonable estimate of the current salary range for this position is $68,000 - $105,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


REQUIREMENT SUMMARY

Min:4.0Max:20.0 year(s)

Information Technology/IT

IT Software - Application Programming / Maintenance

Software Engineering

Graduate

Computer science electrical engineering or closely related fields

Proficient

1

Victoria, BC, Canada