Software Test Engineer
Role details
Job location
Tech stack
Job description
The Software Test Engineer will provide technical leadership and cross-functional influence within a vibrant, high-performing R&D team that is redefining the treatment of structural heart disease. The incumbent will lead the software test workstreams across a product and non-product ecosystems involving multiple devices, and fill other roles/responsibilities to meet evolving business needs as directed by management., * Leading, coordinating, and executing tests
- Straight execution of protocols and test cases
- Dynamic unit testing
- Able to read C++
- Able to write dynamic unit test
- Understanding of flow of requirements and test cases, test protocol and test reports being able to execute physical test in the lab.
- Working with the test team mix of software engineers, software architects, scrum master, and project manager.
- Project Support: Single project focused; 1-3 workstreams within software testing.
- Typical Day: Collaboration with software engineers, architects, Scrum team; test execution, debugging, documentation.
- Work Breakdown: ~10-15% meetings, 30-50% documentation, remainder test execution/debugging.
- Interaction: Software developers, Scrum Master, program manager, tech leads, hiring manager.
- 90-Day Success: Complete training, understand system/therapy, execute and lead testing effectively.
Environment / Tools: C++, C#, GUI application, Windchill documentation system, Jira for backlog management, Familiarity with Linux / Linux OS, familiarity with Q framework, and Agile development methodology.
Key Expectations:
- Read requirements
- Understand how requirements trace to drafted test cases
- Scrutinize whether test cases adequately cover requirements
- Execute testing by following test case instructions
3 Layers of Testing:
- Unit testing, integration testing, and software system testing.
- Need someone who understands how each of those tests fit into the overall scheme of building solid cases of software readiness to the FDA.
- Medical device experience not required, but a plus.
The person would work with those individuals to identify test needs.
- Test procedure updates
- Dry runs of test procedures
- Formal execution of test procedures
- Dynamic unit testing
- Debugging software that has failed the tests
Requirements
- Bachelor's degree in Computer Science, Software Engineering, Computer Engineering, Electrical Engineering or similar (ABET preferred).
- Minimum 2 years of relevant experience.
- Experience in C/C++ family of coding languages, Ability to read C/C++ (C# exposure helpful).
- Familiarity in common software test methodologies identified in IEC 62304 such as unit, integration, verification and software system testing.
- Experience in non-product software validation compliant with FDA 21 CFR Part 820, EU-MDR regulations, and ISO 13485.
- Familiarity with implementation of static and dynamic unit test tools and methods.
- Familiarity with common code repositories and maintenance thereof.
- Ability to work with software developers to produce concise, unambiguous software design/test documentation.
- High motivation, technical curiosity and inclination to find creative ways forward when faced with challenges.
- Hands-on lab testing experience and strong documentation/report writing skills
- Strong communication, initiative, and ability to thrive in fast-paced Agile environment, * Advanced degree (Master's or PhD) in Computer Science, Data Science, Physics or Engineering.
- Experience in first-in-human and pivotal clinical trials.
- Experience and/or familiarity with cardiac anatomy and interventional cardiology.
- GUI experience (QT framework preferred but not required).
- Python (nice-to-have).
- Linux familiarity.
Additional Requirements:
- Industry: Medical device experience preferred but not required.
- Systems: Windchill (documentation), Jira (Agile backlog/tools).
- Traits: Proactive, collaborative, strong communicator, problem solver