Remote Firmware Engineer
Anywhere in the World
Job Summary/Candidate Profile
Clarity Movement is looking for a motivated and experienced Firmware Engineer to join our globally remote and dispersed team! The Firmware Engineer will work on every stage of bringing new devices to market. Our devices are part of a global network that monitors air quality to solve big health and climate challenges. Your work will help bring cleaner air to the world.
About Clarity Movement
Clarity is a globally distributed organization with headquarters in Berkeley, CA. We are empowering the world to reduce air pollution. We do that by making it possible to measure and understand air pollution issues and then take action.
Today, when cities or industrial facilities want to measure air quality, they have to spend a lot of money on expensive equipment, installation, and maintenance - to get the accurate data needed to attack air quality problems.
Clarity has a better approach. With many low-cost devices spread over a geographic area, our customers can perform hyper-local monitoring where information is relayed into the cloud and then flows into web-based tooling to drive analysis and decisions.
We envision a world where novel sensing technology, IoT, and cloud computing simplify air quality measurement, enabling cities and industrial facilities to scale up the number of monitoring sites and take data-driven action. Our Sensing-as-a-Service solution for air quality is currently deployed in over 60 countries and is changing how municipalities and industrial facilities approach air quality.
As a Firmware Engineer, you will be responsible for supporting the design, development, and production of our firmware-supported air quality monitoring products at every stage of bringing new devices to market. You will be responsible for documenting and developing test-driven, modular, resilient, and platform-agnostic firmware for Clarity's current and future hardware products.
- Planning, developing and implementing firmware code in C/C++ and assembly
- Maintaining stable firmware releases
- Separating the hardware access layer from the application layer
- Gathering and analyzing requirements from cross-functional teams
- Performing code reviews
- Writing and maintaining firmware documentation
- Testing firmware releases
- Working closely with CSM team to resolve field issues
- Facilitating collaboration of firmware development within the hardware team
- Working with contractors if necessary
- Traveling to the hardware lab if necessary
- 3+ years of experience in developing production-grade firmware in C/C++
- Working knowledge of RISC-based computer architecture, especially ARM and AVR
- Proficient in low-level device driver development and hardware integration
- Experience with writing bootloaders for serial/OTA firmware programming
- Knowledge of communication protocols such as UART, SPI, I2C, RS485, etc.
- Ability to understand and review circuit schematics and datasheets of various sensors, SoCs, etc.
- Familiarity with hardware debugging tools, such as in-circuit flash programmers/debuggers, logic analyzers, oscilloscopes, etc.
- Experience with version control tools such as Git
- Excellent communication and documentation skills
Ideal to Have
- Proficient with NXP Kinetis and Arduino development environments
- Knowledge of wireless communication protocols such as 2G/3G, LTE, satellite, etc.
- Experience with Google protocol buffers
- Understanding of test-driven development in embedded systems with platform independence in mind
- Familiarity with real time operating systems
- Full-time position
- Reports to Hardware Engineer Lead
- Location: This is a fully remote, work-from-home position. Clarity Movement has no central office but the staff collaborates extensively via video call meetings. The candidates must furnish their own quiet office space for conference calls for day-to-day work. Clarity Movement provides a computer and other basic office equipment to ensure you are set up for being able to work comfortably.
Clarity Movement is an Equal Opportunity Employer. We are committed to equal treatment of all employees without regard to race, national origin, religion, gender, age, sexual orientation, veteran status, physical or mental disability, or other basis protected by law.
Applications will be reviewed on a rolling basis until the position is filled.
Learn more about Clarity Movement and our work on our website at https://www.clarity.io/