Senior Software Test Engineer (R3191)
Shield AI
What you'll do:
- Become a super-user of our state-of-the-art AI software product. Learn to automate multi-agent scenarios, analyze robotic data, and validate test cases. Try using the product as a customer would and try and break it!
- Test new features: Collaborate cross-functionally with developer teams to design test plans for new single and multi-robot autonomy algorithms, user interfaces, middleware, and server applications.
- Enable coverage testing of product capabilities: Design and implement tests to cover all performance aspects of a product capability across all permutations of operating environments and use cases.
- Design automation tooling & automate tests: Architect innovative automation frameworks that enhance testing efficiency and effectiveness. Automate tests to run on Software-in-the-Loop, Hardware-in-the-Loop, and Vehicle-in-the-Loop test fixtures.
- Integrate new capabilities: Work with other integration engineers to implement test solutions on prototype robotic hardware platforms.
- Optimize test efficiency: Determine the testing strategy (what tests, at what frequencies, etc.) for the overall product and work with DevOps/Ex teams to optimize testing design on CI.
- Evaluate test data and automate reporting: Create analyzer code for the automated analysis of test data. Review test data, identify and root cause bugs, report to developers, and create automated reporting tools for test performance and bug attributes.
- Check off requirements, help determine metrics: Work with product and system engineers to ensure test coverage of all product and engineering requirements. Assist in developing tooling to demonstrate full requirement coverage and reporting.
- Other duties as assigned.
Required qualifications:
- Typically requires a minimum of 5 years of related experience with a Bachelor’s degree; or 4 years and a Master’s degree; or 2 years with a PhD; or equivalent work experience.
- Proficiency in programming languages including Python or C++.
- Experience with autonomous systems or server applications or middleware.
- Demonstrated experience of designing, communicating, and managing test cases, and reporting bugs.
- Proficiency with simulation tools and hardware-in-the-loop (HIL) testing environments.
- Strong expertise with CI/CD pipelines.
- Strong problem-solving skills and a proven track record of delivering high-quality software solutions.
- Excellent communication skills, capable of collaborating effectively across various teams and presenting to customers or technical leadership.
Preferred qualificaitons:
- Demonstrated experience building complex systems with a strong understanding of software architecture and design principles.
- Experience with hardware or embedded systems.
- Expert knowledge of Python.
- Experience with ROS.
- Experience with white box testing
- Familiarity with networking, operating-systems, and radio communications.
- Experience designing automated tooling for testing for GUI applications.
- Experience designing automated tooling for testing server applications.