Job Description
The Software Engineering team is responsible for delivering solutions for IoT devices, which will provide data to develop insights that help customers to be cleaner, healthier, and safer. The solutions you develop will be part of a global portfolio of products and solutions. The Firmware Engineer will develop designs, Proof of Concepts (PoC), and applications to support code, architectures, and documentation, creating applications for dispensing and IoT equipment systems.
Responsibilities
- Review and test the current CANbus setup, ensuring proper functionality and making necessary changes.
- Develop code, support architectures, document designs, and create Proof of Concepts for IoT equipment systems.
- Work with team members to integrate software and hardware developed by other divisions.
- Integrate full-stack IoT end node solutions with software team members.
- Participate in SCRUM/Agile software development processes.
- Work with product owners to define and document User Stories, including Acceptance Criteria.
- Apply DevOps practices to collaborate effectively with multidisciplinary teams.
Essential Skills
- Experience with CANbus and CAN testing.
- Proficiency in communication protocols, including I2C.
- Experience with BareMetal and firmware development.
- Strong skills in software development using C and C++.
- Experience with Linux operating systems.
- Experience in Microcontroller-based board/application development.
- Experience with embedded FreeRTOS.
- Knowledge of serial communication protocols such as UART, SPI, I2C.
Additional Skills & Qualifications
- Bachelor’s degree in Computer Engineering, Electrical Engineering, Software Engineering, or a related technical field.
- 3-5+ years of experience in C for embedded firmware development.
- Experience with SMT 32.



