Analyze and understand software/functional requirements to design and develop high-quality software.
Write efficient, maintainable code following best practices and conduct code reviews.
Developing Bare Metal and/or Linux drivers for Embedded devices based on iMX processors.
Developing or customizing board support packages (BSP).
Implement developer-level testing (unit, component) to ensure software reliability.
Writing component tests using Google Test (GTest) with Gherkin syntax following behavior-driven development (BDD) principles.
Create technical documentation and comply with development policies.
Debug, troubleshoot, and resolve complex software issues efficiently.
Stay updated with technical advancements and advocate best practices within the team.
Qualification & Experience
5-8 years of relevant experience as a developer working in a Linux development environment
At least 3+ years of experience in developing Custom Embedded Linux Operating Systems using Yocto, BitBake recipes and OpenEmbedded.
Experience in embedded development, Linux device driver development, integration, board bring-up activities such as programming, debugging, troubleshooting and functionality testing
Advanced knowledge of C, C++, shell scripts, Python and proven hands-on experience
Good understanding in electronics hardware: schematics, data sheets reading is added advantage
Solid knowledge of Embedded Linux systems, low-level software (drivers, BSP), open-source, Yocto, and proven hands-on experience