Job Description:- Advocate for best practices for firmware development, including source code control, continuous integration, coding standards and unit testing.
- Understand behavior of legacy code in order to troubleshoot bugs or extend features.
- Define requirements for development and testing tools. Define new ways to use existing tools in order to improve development processes.
- Select algorithms and design patterns considering embedded system constraints.
- Break down user and technical stories into smaller tasks. Provide accurate estimates for task completion time. Assist others in breaking down stories and improving their estimation.
- Work with product management to define user and technical requirements.
- Read schematics and component datasheets to understand requirements for drivers implementation.