remote
Senior Software Engineer - Embedded Systems - Waters
Software Engineer
Lead the design, development, and testing of application‑level software that controls hardware, using Python and C++ within an Agile environment. Deliver robust, well‑documented code and maintain automated test suites to ensure high quality and reliability.
About the role
Key Responsibilities
- Design, develop, test, and document application‑level software that interfaces with hardware components, ensuring minimal supervision and adherence to quality standards.
- Maintain and enhance automated test scripts, including unit, component, API, workflow, and UI tests, guaranteeing continuous reliability.
- Provide technical support to internal and external users, troubleshooting issues and delivering effective solutions.
- Collaborate within an Agile delivery team, contributing to sprint planning, daily stand‑ups, and retrospective sessions.
- Ensure all work aligns with the Quality Policy and the team’s definition of done, maintaining thorough documentation and code reviews.
Requirements
- Proven experience in C++ and Python for embedded or hardware‑control applications.
- Strong background in automated testing frameworks and continuous integration pipelines.
- Hands‑on knowledge of Agile methodologies and collaborative development practices.
- Excellent problem‑solving skills and ability to communicate complex technical concepts clearly.
- Experience with hardware‑software integration and troubleshooting in a production environment.