Job Application for Firmware Developer

← Back to Careers

💼 2 to 5 years📍 Pune (Wakad) · On-site⚙️ Firmware Engineering

We are looking for

A hands-on Firmware Developer who writes clean, reliable C on microcontrollers and owns their module end to end: development, testing, debugging and documentation. You will build firmware for real products – medical devices, industrial systems and IoT hardware – where your code runs on hardware you can hold, and a bug can cost a field return.

The person we are looking for tests what they write before calling it done, reads a schematic rather than waiting for someone to explain the board, and treats a peer review – given or received – as a way to make the product better, not a formality.

Should have the following responsibilities and background

1. Firmware Development

  • Develop firmware as per the customer’s requirements, from driver level to application logic.
  • Write and maintain drivers for common peripherals: GPIO, SPI, I2C, UART, ADC, DAC, timers, displays and memory devices.
  • Design interrupt-driven behaviour correctly: ISRs, priorities, shared-data protection.
  • Participate in board bring-up with the hardware team and help isolate hardware-firmware issues on the bench.

2. Quality and Testing

  • Unit test the firmware you develop and fix what the tests find before hand-off.
  • Debug systematically using JTAG/SWD debuggers, logic analysers and oscilloscopes.
  • Review a colleague’s firmware module the way you would want yours reviewed: thoroughly and constructively.
  • Adhere to the project’s quality processes: coding guidelines, version control discipline and release hygiene.

3. Delivery and Documentation

  • Follow committed timelines and flag risk early – a slip reported on the day it is discovered is a plan; a slip reported at the deadline is a surprise.
  • Document your modules so another engineer can pick them up: interfaces, assumptions, known limitations.
  • Keep task status current so the Tech Lead never has to chase you for an update.

Technical Skills Required

  • C Programming: Proficient, hands-on C on microcontrollers; ARM Cortex-M preferred (STM32, NXP, ESP32 or similar).
  • Peripherals: Practical interfacing experience: GPIO, SPI, I2C, UART, ADC, DAC, timers, displays, memory devices.
  • Interrupts: Conversant with interrupts and ISRs: latency, priorities, race conditions and safe shared-data handling.
  • Bring-up & Debug: Board bring-up participation; debugging with JTAG/SWD, logic analysers, oscilloscopes and multimeters.
  • Hardware Literacy: Can read schematics and understand discrete components, microcontroller circuits and memory interfaces.
  • Version Control: Git-based workflow: branches, reviews, meaningful commits.

Preferred Skills (Added Advantage)

  • C++, ARM Assembly, RTOS (FreeRTOS or equivalent), Embedded Linux.
  • Networking and connectivity protocols: TCP/IP, MQTT, BLE, Wi-Fi.
  • Exposure to IoT or IoMT (Internet of Medical Things) products, or regulated development such as ISO 13485 / IEC 62304.
  • Experience in a product design services or contract development environment.

Qualifications

  • B.E. / B.Tech / M.E. / M.Tech in an Electronics-based branch or equivalent.
  • 2 to 5 years of experience in firmware development.
  • Good verbal and written communication in English.

What Success Looks Like

  • Your modules pass review and integration the first time far more often than not.
  • Bugs found in your code are fixed with root cause understood, not patched over.
  • The hardware team asks for you by name for bring-up support.

Remuneration & Work Location

  • CTC Range: As per industry standard for relevant experience.
  • Pune, Wakad Office.

Prefer email? Send your CV to careers@pinetics.com