firmware engineer

The Technical
yesterday

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English
Experience level
Senior

Job location

Tech stack

Testing (Software)
Board Bringup
Unit Testing
Booting (BIOS)
C++
Capability Maturity Model Integration
Software Quality
Code Review
Continuous Delivery
Software Debugging
Embedded C
Embedded Software
Firmware
Hardware Interface Design
Hardware-In-The-Loop Simulation
MISRA C (C Programming Language)
Modbus
Real-Time Operating Systems
ISO/IEC 15504
Software Engineering
Software Requirements Analysis
Multithreading
Integration Tests
Bare Metal
Software Version Control

Job description

We are seeking a Senior Firmware Engineer to develop reliable C/C++ software for a next-generation Battery Management System (BMS). In this role, you will collaborate with hardware and software teams to design, implement, test, debug, and deploy firmware for embedded controllers and power electronics systems., * Derive software requirements and design features from product specifications while supporting compliance with applicable safety and reliability standards.

  • Develop embedded C/C++ firmware modules for sensor monitoring, actuator control, and system management.
  • Create hardware self-test routines and manufacturing test software to support hardware bring-up and end-of-line validation.
  • Design and implement microcontroller firmware for embedded systems, sensors, and power flow control circuitry within a Battery Management System.
  • Contribute to unit testing, integration testing, and continuous delivery processes to ensure high-quality firmware releases.
  • Support product deployment and field operations by troubleshooting and debugging firmware issues in real-world environments.
  • Develop robust, maintainable, and well-documented code following industry best practices.
  • Lead complex debugging activities to identify and resolve software defects, reliability issues, and performance bottlenecks.
  • Promote adherence to formal software development processes, including version control, code reviews, testing, and compliance documentation.

Requirements

  • 3+ years of firmware development experience in embedded or RTOS-based systems, preferably involving battery management systems, power electronics, or related applications.
  • Strong proficiency in C and/or C++ for real-time, multithreaded embedded applications.
  • Solid understanding of embedded system fundamentals, including bare-metal development, RTOS environments, fixed-point arithmetic, interrupt-driven architectures, unit testing, and hardware-in-the-loop (HIL) validation.
  • Expertise in power control algorithms and digital control design, including PWM generation, current and voltage control loops, filters, observers, and stability analysis.
  • Experience with communication interfaces and protocols such as I2C, SPI, CAN, Modbus, or similar technologies.
  • Strong electrical engineering fundamentals, including schematic interpretation, hardware interface troubleshooting, and familiarity with sensors, gate drivers, protection circuits, EMC, thermal considerations, and safe system bring-up.
  • Proficiency with laboratory equipment such as oscilloscopes, power analyzers, electronic loads, and high-power test systems.

<>Preferred Qualifications

  • Familiarity with software quality and compliance standards such as MISRA, ISO 26262, CMMI, ASPICE, or UL 1998.
  • Experience implementing secure bootloaders, over-the-air (OTA) update mechanisms, cryptographic signing, and encryption technologies.

Apply for this position