Role & responsibilities Design, develop, and test firmware for embedded systems using C/C++. Collaborate with hardware engineers to integrate software with microcontrollers, sensors, and other peripherals. Perform debugging, troubleshooting, and optimization of embedded systems. Write and maintain clear technical documentation for code, hardware interfaces, and testing procedures. Assist in prototyping and validating new hardware and software designs. Participate in code and design reviews to ensure quality and best practices.