Job Title: Firmware Engineer Job Type: Full-Time
Experience: 2-6 Years
Location: [Location / Remote / Hybrid]
Department: Engineering / Embedded Systems
Job Summary We are looking for a skilled
Firmware Engineer to design, develop, test, and maintain embedded firmware for hardware products. The ideal candidate should have strong programming skills in
C/C++, experience with microcontrollers and embedded systems, and a good understanding of hardware-software integration.
Key Responsibilities - Design and develop embedded firmware for microcontrollers and hardware devices.
- Develop efficient and reliable firmware using C/C++.
- Work with microcontrollers such as ARM Cortex-M, STM32, PIC, AVR, or similar platforms.
- Develop and integrate device drivers, peripherals, and communication protocols.
- Work with interfaces such as UART, SPI, I2C, CAN, USB, Ethernet, and GPIO.
- Perform firmware debugging, testing, and troubleshooting.
- Use oscilloscopes, logic analyzers, debuggers, and other hardware tools for issue analysis.
- Collaborate with hardware, software, QA, and systems engineering teams.
- Participate in code reviews and follow coding and documentation standards.
- Optimize firmware for memory usage, performance, power consumption, and reliability.
- Investigate and resolve firmware defects and hardware-software integration issues.
- Develop unit tests and support system-level validation.
- Maintain technical documentation, design specifications, and release notes.
- Support firmware releases, upgrades, and production troubleshooting.
Required Skills - Strong programming experience in Embedded C/C++.
- Good understanding of microcontrollers and embedded systems.
- Experience with RTOS such as FreeRTOS, Zephyr, or similar.
- Knowledge of embedded communication protocols:
- UART
- SPI
- I2C
- CAN
- USB
- Ethernet
- Experience with debugging tools such as JTAG/SWD.
- Familiarity with Git and version-control systems.
- Understanding of memory management, interrupts, timers, DMA, and low-level hardware programming.
- Good knowledge of firmware development and debugging lifecycle.
- Strong problem-solving and analytical skills.
Preferred Skills - Experience with ARM Cortex-M architecture.
- Experience with STM32, ESP32, NXP, TI, or similar platforms.
- Knowledge of bootloaders and OTA firmware updates.
- Experience with embedded Linux.
- Knowledge of device security, secure boot, encryption, or firmware signing.
- Experience with hardware bring-up and board-level debugging.
- Familiarity with Python for test automation.
- Experience with CI/CD for embedded firmware.
- Knowledge of automotive protocols such as CAN, LIN, or AUTOSAR is a plus.
Education - Bachelor's or Master's degree in Electrical Engineering, Electronics & Communication Engineering, Computer Engineering, Embedded Systems, or a related field.
Key Competencies - Embedded Firmware Development
- Embedded C/C++
- Microcontrollers
- RTOS
- Device Drivers
- Hardware-Software Integration
- Firmware Debugging
- Communication Protocols
- Hardware Bring-Up
- Unit & Integration Testing
- Git / Version Control
- Problem Solving