Job Description
Job Title: Senior Embedded Software Engineer
Experience : 12 to 15 years
Job Summary:
We are seeking an experienced Senior Embedded Software Engineer to design, develop, test, and maintain embedded software and firmware for hardware-based systems. The ideal candidate will have strong experience in C/C++, embedded Linux, RTOS, microcontrollers, device drivers, and hardware-software integration. The candidate will work closely with hardware engineers, system architects, and cross-functional teams to deliver reliable, high-performance embedded solutions.
Roles and Responsibilities:
- Design, develop, and maintain embedded software and firmware for electronic devices and systems.
- Develop software using C, C++, and assembly language.
- Work with microcontrollers, microprocessors, and embedded platforms.
- Develop and debug device drivers, BSPs, and low-level software components.
- Implement real-time operating systems (RTOS) and embedded Linux applications.
- Integrate software with hardware components and peripheral interfaces.
- Perform debugging, troubleshooting, and root cause analysis.
- Develop communication protocols such as UART, SPI, I2C, CAN, USB, and Ethernet.
- Optimize software performance, memory usage, and system reliability.
- Conduct unit testing, integration testing, and system-level validation.
- Collaborate with hardware, firmware, QA, and system engineering teams.
- Review code and ensure compliance with software development standards.
- Prepare technical documentation, design specifications, and test reports.
Required Technical Skills:
- Strong programming experience in C and C++.
- Experience with embedded systems and firmware development.
- Knowledge of Embedded Linux and RTOS.
- Experience with microcontrollers such as ARM, STM32, PIC, or AVR.
- Knowledge of device drivers and Board Support Packages (BSP).
- Experience with debugging tools such as JTAG, GDB, and oscilloscopes.
- Understanding of communication protocols including UART, SPI, I2C, CAN, and Ethernet.
- Experience with Git, SVN, and software configuration management.
- Knowledge of hardware-software integration and testing.
- Familiarity with software development lifecycle (SDLC).
Preferred Qualifications:
- Bachelor's or Master's degree in Computer Science, Electrical Engineering, Electronics Engineering, or a related field.
- 12+ years of experience in embedded software or firmware development.
- Experience in automotive, industrial automation, medical devices, robotics, or IoT.
- Knowledge of AUTOSAR, bootloaders, and real-time system design.
- Experience with Agile/Scrum development methodologies.
- Strong analytical, communication, and problem-solving skills.
Key Responsibilities
- Lead embedded software development activities.
- Develop scalable and reliable firmware solutions.
- Improve system performance and software quality.
- Support product development from design through production.
- Mentor junior engineers and provide technical guidance.
- Ensure software meets functional, performance, and safety requirements.