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

Required Skills

CEmbedded SystemsMicrocontrollersRtosSpiIcUartGpioInterruptsDevice DriverMemory ManagementStructured DataDebuggingLinuxGit Git Hub

About the Company

Dozee

Bengaluru, India

Share This Job