Responsibilities
- Analyze high-level system requirements and translate them into detailed software specifications
- Create architectural designs for embedded system components based on defined software needs
- Combine in-house and third-party software components to build complete applications
- Produce UML documentation including collaboration, sequence, and state diagrams to illustrate system design
- Write production-ready code for ARM Cortex-M microcontrollers adhering to established coding standards
- Formulate test strategies and validate code functionality through unit and integration testing
- Engage in peer reviews of both design documents and source code