Job Description :
Role : Embedded Software Engineer (C++ Developer)
Location : Bengaluru
We are looking for an experienced Embedded Software Engineer with strong hands-on expertise in C++ development and a solid understanding of embedded systems. The ideal candidate will be responsible for the design, development, integration, and testing of embedded software components in a high-performance and scalable environment.
Key Responsibilities :
- Design, develop, and maintain embedded software using C / C++ for microcontrollers and embedded Linux platforms.
- Work closely with hardware, firmware, and QA teams to define software requirements and system interfaces.
- Implement real-time applications and optimize code for performance and memory utilization.
- Debug and troubleshoot embedded software issues using tools such as JTAG, oscilloscopes, and logic analyzers.
- Participate in code reviews, design discussions, and documentation of software modules.
- Ensure compliance with software development standards and best practices (MISRA, ISO, etc.).
- Collaborate with cross-functional teams to deliver high-quality embedded solutions on time.
Required Skills & Experience :
6–8 years of hands-on experience in C / C++ programming for embedded systems.Strong knowledge of RTOS (e.g., FreeRTOS, QNX, VxWorks) and multithreading concepts.Experience with embedded Linux or bare-metal development.Proficiency in communication protocols like UART, SPI, I2C, CAN, Ethernet, etc.Solid understanding of microcontrollers, microprocessors, and hardware software interaction.Experience in debugging tools (GDB, JTAG, Lauterbach, etc.) and version control (Git).Good understanding of software design patterns, data structures, and algorithms.Experience in unit testing and continuous integration (CI / CD) is a plus.