Senior Engineer - Firmware
Bengaluru, Karnataka, India · Bangalore Rural, Karnataka, India
Posted on Nov 9, 2026
Key Responsibilities
- Assist in developing, debugging, and maintaining clean, efficient C/C++ code for microcontrollers and embedded processors
- Collaborate with hardware engineers to test and validate new prototype boards using laboratory equipment such as oscilloscopes, multimeters, and logic analyzers
- Develop and test communication interfaces using standard protocols such as Inter-Integrated Circuit (I2C), Serial Peripheral Interface (SPI), Universal Asynchronous Receiver/Transmitter (UART), Controller Area Network (CAN), and Universal Serial Bus (USB)
- Create Python scripts to automate hardware testing and streamline Continuous Integration (CI) processes
- Prepare and maintain technical documentation covering firmware architecture, Application Programming Interfaces (APIs), and test procedures to support the engineering team
Ideal Candidate
- Graduate or postgraduate degree in Computer Engineering, Electrical Engineering, Computer Science, or a related field
- Overall 4–8 years of hands-on experience in embedded firmware development
- Demonstrates strong foundational programming skills in C and C++, along with a basic understanding of microcontroller architectures such as (Advanced RISC Machines) ARM, Cortex-M, ESP32, AVR, and STM32
- Exhibits the ability to read basic hardware schematics and understand the interaction between hardware and software
- Displays strong analytical, problem-solving, and debugging skills
- Brings familiarity with Real-Time Operating Systems (RTOS) such as FreeRTOS or Zephyr, experience with scripting languages such as Python, and exposure to version control systems such as Git
- Showcase hands-on experience through personal or academic projects involving microcontrollers, Internet of Things (IoT) devices, or robotics, including Raspberry Pi, Arduino, or custom Printed Circuit Boards (PCBs)