Design and develop embedded software solutions for various applications, utilizing microcontrollers such as STM32, ESP32, Raspberry Pi, and Nvidia Jetson GPU.
Collaborate effectively with cross-functional teams, including hardware engineers, software developers and quality assurance engineers to ensure delivery of high-quality products.
Write clean, efficient and maintainable code in C and Python for embedded systems based on Microcontrollers and FPGAs.
Ability to write clean makefiles and debug for multiple targets.
Participate actively in the entire software development lifecycle, from requirements analysis to design, implementation, testing and deployment.
Troubleshoot and debug software and hardware issues in embedded systems.
Conduct regular code reviews to ensure compliance with coding standards and best practices.
Document software designs, implementation details and test procedures.
Stay updated with the latest developments in embedded systems technology and programming languages.
Provide timely and effective technical support to customers and internal teams as needed.