Firmware Developer
Dozee
Full Time3+ yearsPosted 10 days ago
Let the right jobs find you
Get personalised suggestions from verified company career pages, matched to your role, location, level, and skills.
Overview
Position Type
Full Time
Experience
3+ years
Job Description
Role Overview:
We are looking for a Firmware Engineer II who is passionate about embedded systems and enjoys building firmware that runs reliably on real-world devices at scale.
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
- 3+ years of experience in embedded firmware development
- Strong programming skills in C
- Good understanding of embedded systems and microcontrollers
- Hands-on experience with an RTOS such as Zephyr, FreeRTOS, or similar
- Good understanding of: Tasks/threads and scheduling, Interrupts, Queues, Mutexes and semaphores, Synchronization and concurrency
- Experience working with SPI, I²C, UART, GPIO, and interrupts
- Experience developing or integrating device drivers
- Strong understanding of pointers, memory management, bit manipulation, and data structures
- Ability to read datasheets, register maps, and hardware specifications
- Experience debugging hardware and firmware issues
- Comfortable working in a Linux development environment
- Experience with Git/Github
- Strong debugging and problem-solving skills
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