Robotics Test Engineer
Job description
About the role
Apptronik is seeking a Robotics Test Engineer to join the Software Integration & Test (RSIT) team. In this role, you will write the automated tests that verify Apollo's software at the integration layer, partner with senior engineers on defect investigations, and help grow the regression coverage that keeps each release safer than the last. You will work hands-on with our pytest-based test infrastructure, HIL benches, and the broader RSIT platform to turn software-level requirements into verifiable tests. This is a role designed for someone who wants to grow into deep expertise in robotics test engineering, with mentorship from senior teammates and meaningful ownership of test suites from day one. You will collaborate closely with cross-functional partners to ensure testability is built into the software from the start, and you will play a key role in de-risking releases through rigorous automated verification. Your work will directly influence the safety and quality of Apollo as it scales toward commercial deployment in critical industries. Over time, you will become a trusted owner of the test strategy for your assigned components, balancing speed with the discipline required for production-grade robotics.
Key facts
What you'll do
- Test Authoring: Write automated integration, contract, and ICD conformance tests in pytest against software-level requirements, with clear pass/fail signals that feed the release gate.
- Defect Investigation: Partner with senior engineers on root-cause investigations for CI failures, escaped defects, and stochastic issues, building familiarity with debugging tools (sanitizers, log analysis, MCAP playback) over time.
- Regression Coverage: Convert defects into permanent regression tests, ensuring every escape becomes a new automated check in the gate.
- HIL Test Execution: Run and maintain test suites on hardware-in-the-loop benches, capture data, and report results into the team's dashboards and result reporting systems.
- Test Suite Maintenance: Keep existing test suites healthy: triage flaky tests, update fixtures as the stack evolves, and improve readability and reliability of test code.
- Requirements
Engagement: Read software-level requirements and Systems Validation plans, ask clarifying questions, and surface ambiguity or untestable language to senior teammates and Systems Engineering.
- Tooling Feedback: Serve as an active customer of the RSIT platform, surfacing friction in CI, dashboards, or release tooling so the Release & Integration team can improve developer experience.
- Cross-Functional Collaboration: Work with stack engineers, firmware engineers, and senior RSIT teammates to understand the systems being tested and produce verification that reflects how those systems actually behave.
- Verification Planning: Participate in test planning discussions to ensure test coverage aligns with system architecture and release objectives.
- Data Analysis: Analyze test execution data to identify trends, risks, and opportunities for improving test effectiveness or coverage.
- Documentation: Maintain up-to-date test documentation, including test purpose, scope, and links to requirements and design decisions.
- Continuous Improvement: Propose and implement improvements to test performance, stability, and maintainability, reducing manual effort over time.
- Environment Support: Assist in maintaining the test environment, including fixtures, test data, and infrastructure dependencies.
- Quality Advocacy: Champion a quality-first mindset across the team, helping to define and enforce standards for testability and release readiness.
- Mentorship
Engagement: Learn from senior test engineers and later mentor newer team members on test best practices and tooling.
Requirements
- Programming: Working proficiency in Python, including ability to write clean, maintainable test code and small utility scripts. Comfort reading C++ to understand the systems under test.
- Test Frameworks: Hands-on experience with pytest or an equivalent framework (unit test, Google Test, JUnit), including fixtures, parameterization, and test organization.
- Linux Comfort: Day-to-day fluency on the Linux command line, including basic system, log inspection, file system navigation, and shell scripting.
- Version Control: Solid Git fundamentals, including branching, pull requests, and code review participation.
- Debugging Mindset: Demonstrated curiosity and persistence in tracking down bugs, including willingness to read code in unfamiliar parts of the stack to understand a failure.
- Communication: Ability to write clear bug reports, test documentation, and pull request descriptions. Comfort asking questions and surfacing blockers early.
- Learning Orientation: Eagerness to grow into deeper expertise in robotics, real-time systems, and verification engineering through mentorship, code review, and hands-on work.
- Exposure to ROS or ROS2.
- Experience with CI/CD systems (Bitbucket Pipelines, GitHub Actions, Jenkins, or similar) as a user.
- Familiarity with hardware-in-the-loop testing concepts.
Practical notes
- Hours: Standard business hours may apply with flexibility for critical test events.
- Travel: None required.
- Visa: Sponsorship may be considered for eligible candidates.
- Deadlines: Please apply through the official portal with current materials for ongoing review.
LENGTH: 700-900 words. No HTML, no markdown, no em dashes. Output the page only.