Sr Firmware Developer

About the Role

We are looking for an experienced Embedded Software Engineer with strong, hands-on firmware development skills on 32-bit microcontroller platforms. We are hiring for capability rather than for a single pre-defined slot. Across all of our programs the underlying work is the same: production-quality embedded C, close to the hardware, with real responsibility for correctness and reliability. This is a hands-on engineering role at a senior level.

What You Will Do

  • Key Responsibilities
  • • Design, develop, test and maintain production embedded firmware in C on 32-bit microcontrollers.
  • • Develop device drivers and low-level peripheral software — SPI, I2C, UART, CAN / CAN-FD, Ethernet, USB, ADC, PWM, timers, DMA, GPIO and watchdog.
  • • Define software architecture for assigned modules: layering, task partitioning, scheduling, state machines, timing budgets and interface contracts.
  • • Develop RTOS-based and bare-metal applications with attention to real-time behaviour, determinism and resource constraints.
  • • Implement communication protocol stacks and application protocol layers, and integrate third-party stacks and middleware.
  • • Debug at system level using oscilloscopes, logic analysers, JTAG/SWD debuggers, protocol analysers and trace tools — including intermittent, timing and memory-related faults.
  • • Write unit and integration tests, support validation on test benches and Hardware-in-the-Loop setups, and reproduce and close out field issues.
  • • Author and maintain engineering documentation under a controlled process: software requirement specifications, design documents, interface specifications, test cases and traceability.
  • • Review code and designs from other engineers, and set and enforce coding and quality standards.
  • • Mentor junior and mid-level engineers on embedded practice and debugging discipline.
  • • Work closely with hardware engineers on schematic reviews and hardware/software integration, and support customer technical discussions and effort estimation.

What We’re Looking For

  • Required Skills and Experience
  • • B.E./B.Tech or M.E./M.Tech in Electronics, Electrical, Instrumentation, Computer Science, Embedded Systems or a related discipline.
  • • 8+ years of hands-on embedded firmware development in C, with demonstrated ownership of modules or subsystems taken through to production.
  • • Strong practical experience on 32-bit microcontrollers — ARM Cortex-M or Cortex-R class (TI, ST, NXP, Renesas, Microchip or equivalent). This is essential; the role is not suited to candidates whose experience is primarily 8/16-bit or application-layer only.
  • • Solid embedded fundamentals: interrupts, timers, DMA, memory maps, linker scripts, startup code, stack and heap behaviour, bootloaders, and RTOS concepts and real-time scheduling.
  • • Register-level and protocol-level command of at least SPI, I2C, UART and CAN / CAN-FD.
  • • Ability to read schematics and device datasheets independently and translate them into working driver code.
  • • Proven debugging ability at board level using oscilloscope, logic analyser and JTAG/SWD debugger.
  • • Experience working to a documented development process with requirements, design records, reviews and traceability.
  • • Version control (Git), code review and structured development practices.
  • • Clear technical writing and spoken English — our documentation and design reviews are customer-facing.

Apply for this job

Explore the opportunity to grow your career with us.

By applying, you agree that your information will be handled according to our Privacy Policy.

Find your role

Find your role

Explore all open positions and discover where you fit best.