Overview
We are seeking an Embedded Software Engineer to join our team, focusing on the development of firmware for IoT products. The engineer will collaborate closely with electronics, hardware, cloud, and product engineering teams to create robust and efficient software solutions. This role involves both onsite and remote work, fostering teamwork and innovation in a dynamic environment.
Responsibilities
- Design, develop and maintain embedded firmware for IoT devices.
- Develop robust, efficient software primarily in C/C++.
- Work with microcontrollers, sensors, peripherals and communication interfaces.
- Develop and integrate drivers using SPI, I²C, UART, GPIO, ADC and PWM.
- Develop applications using RTOS or bare-metal architectures.
- Implement power-management strategies for battery-powered devices.
- Implement secure boot, device security and OTA firmware updates as required.
Requirements
- Strong embedded C/C++ development experience.
- Experience with microcontroller-based systems.
- Embedded debugging skills using JTAG/SWD and laboratory test equipment.
- Experience in hardware/software integration.
- Familiarity with Git and modern software development practices.
- Good understanding of digital electronics and embedded architectures.