Location:Bangalore
Job Overview:
We are seeking a skilled Embedded Application Developer to join our dynamic team. The ideal candidate will design, develop, andmaintainembedded software for a range of applications. You will work closely with hardware engineers, product managers, and other software developers to ensure the delivery of high-quality embedded systems.
Key Responsibilities:
- Design and Development:Design, implement, andmaintainembedded software for various platforms, including microcontrollers, microprocessors, and embedded operating systems.
- Testing and Debugging:Write test cases, perform debugging, and carry out hardware/software integration testing to ensure product functionality and reliability.
- Code Optimization:Optimizeembedded software for performance, memory usage, and power consumption.
- Documentation:Create andmaintaindetailed documentation for system architecture, interfaces, and user manuals.
- Cross-Functional Collaboration:Work with hardware and software teams to define system specifications, develop drivers, and manage communications between system components.
- Compliance:Ensure software adheres to industry standards such as MISRA, or similar, and follows best practices for secure coding.
- Troubleshooting:Investigate and resolve issues related to embedded software and real-time systems.
- Continuous Improvement:Participatein code reviews, system design meetings, and propose improvements to the existing systems.
Requirements:
- Education:Bachelor's degree in computer science, Electronics, or a related field.
- Experience:
- 5-8years of experience in embedded software development.
- StrongproficiencyinC,C++and any HMI Applicationprogramming for embedded systems.
- Experience withLinux OSand low-level system programming.
- Good Understanding of Linux internals like IPCs.
- Good Understanding of OOPS.
- Proficient in C++ 11and above, STL, D-Bus, Call back functions, multithreading.
- Develop custom C++ software code, debugs, troubleshoots, and resolves software and hardware compatibility and operability issues
- Familiarity with hardware abstraction layers and device drivers.
- Experience with build tools like Make orCMake.
Soft Skills:
- Strong problem-solving skills and attention to detail.
- Excellent verbal and written communication skills.
- Ability to work independently as well as in a team-oriented environment.