Embedded Software Engineer
TPI Global Solutions
About the Role
- Partner with development teams to test cutting-edge IoT, cloud-connected hardware (motors, sensors, pumps).
- Execute both manual and automated functional and performance tests.
- Analyze system and event logs to help debug defects and streamline testing.
- Enhance existing test tools to automate testing for physical hardware.
Key Responsibilities
- Design Collaboration: Partner closely with development resources to understand overall dispenser design and streamline feature testing.
- Test Strategy & Execution: Define test coverage, develop test plans, create/maintain test cases, and execute both manual and automated functional and performance tests to mitigate risk to the dispenser fleet.
- Debugging & Log Analysis: Analyze dispenser logs to assist development resources in defect triage and debugging.
- Test Automation: Leverage and enhance existing test tools to automate testing of physical dispensers.
- Innovation & Prototyping: Provide hands-on testing support for innovation projects and engineering prototypes.
- Subject Matter Expertise: Grow to become the subject matter expert (SME) for the embedded system and total dispenser functionality.
Requirements & Tech Stack
- Embedded Systems Experience: Strong background testing embedded systems (e.g., HVAC systems, set-top boxes, telecommunications hardware like routers/modems/switches, robotics, industrial control systems, or avionics).
- Log & Data Analysis: Extensive experience analyzing system, application, or event logs.
- Technical Skills:
- Strong working knowledge of shell scripting and Unix/Linux command-line tools.
- Experience with IoT device testing, including Linux OS, backend protocols communicating to hardware, and at least one software language (Java preferred).
- Ability to use backend communication protocols, such as APIs and web services (REST endpoints).
- QA Operations:
- Excellent knowledge of embedded/full-stack SDLC, testing methodologies, and tools.
- Fluent in QA metrics, risk assessment, defect detailing, and test reporting.
- Soft Skills & Independence: Ability to triage problems, prioritize resolutions, work independently, raise issues, and take corrective action. Detail-oriented, analytical, and creative.
Qualifications
- Education & Experience: Computer Science or equivalent engineering degree with 3+ years of industry experience.
- Automation Tools: Hands-on knowledge of test automation frameworks (Selenium, JUnit, JavaScript, Java, Groovy).
- Version Control: Familiarity with version control systems like GIT.