Role Overview:
Why This Role ExistsAs our device fleet and firmware capabilities continue to grow, we need engineers who can build reliable and maintainable firmware while continuing to improve existing systems already deployed in the field.Firmware changes can directly impact thousands of devices. This role exists to ensure that new features are designed carefully, tested thoroughly, and built to operate reliably under real-world conditions.You will work on both new development and existing production firmware, helping us improve reliability, add capabilities, investigate field issues, and build better firmware architecture for future products.
Responsibilities:
- Design, develop, test, and maintain embedded firmware in C
- Develop firmware for RTOS-based systems
- Own firmware modules and features from design through production
- Develop and integrate drivers for sensors and peripherals
- Work with SPI, I²C, UART, GPIO, ADC, timers, and interrupts
- Build reliable sensor acquisition, processing, and buffering pipelines
- Develop and debug Wi-Fi and BLE functionality
- Implement device communication and cloud data upload workflows
- Work with Flash, SD cards, NVS, and other storage systems
- Develop robust error handling, watchdog, logging, and recovery mechanisms
- Work with bootloaders and firmware upgrade/OTA mechanisms
- Write unit, integration, and hardware-level tests
- Debug firmware and hardware issues using logs and debugging tools
- Investigate and resolve issues observed on devices deployed in the field
- Participate in firmware architecture, design, and code reviews
- Improve firmware reliability, maintainability, performance, and observability
Requirements
Good to Have Skills
- Experience with Nordic nRF, ESP32, or STM32 platforms
- Experience with Zephyr RTOS / nRF Connect SDK
- Experience with Wi-Fi and BLE
- Understanding of TCP/IP, HTTP/HTTPS, and TLS
- Experience with bootloaders and OTA/DFU firmware updates
- Familiarity with Device Tree and Kconfig
- Experience with Flash, SD cards, NVS, and file systems
- Experience with high-rate sensor data acquisition
- Understanding of ring buffers, FIFOs, CRC, and data packetization
- Familiarity with low-power embedded system design
- Python scripting for firmware testing and development tools
- Exposure to firmware CI/CD pipelines
- Experience with long-duration and stress testing of embedded devices
- Experience debugging issues on field-deployed devices