Senior Embedded Software Verification Engineer
Summary
Senior engineer on the Software Platforms team who builds and maintains automated verification infrastructure for embedded navigation products — designing simulation/emulation environments (QEMU/Renode/Simics), hardware-in-the-loop rigs, Python/Pytest test suites, and GitLab CI pipelines, then triaging failures and reporting results.
About the role
Advanced Navigation enters a new phase of Growth and International expansion. The Software Platforms team is on a mission to develop software to ensure that our products are the most reliable, high performance navigation products in the world.
As a Senior Embedded Software Verification Engineer you will be instrumental in realising this ambition, developing software to solve real world problems with real world impact.
What you'll do
- Ensure the automated testing provides fast, reliable and valuable feedback to developers
- Understand our products and customer use cases to lead the creation of high-value tests
- Design, implement and maintain software simulation and emulation environments and models to enable automated embedded software verification, including scenario, edge-case and fault-injection testing.
- Integrate simulation and emulators with Pytest, GitLab CI and HITL, validating simulation behaviour against real hardware and continuously improving simulation fidelity and test coverage.
- Develop, review and maintain automated tests (in Python)
- Establish then enhance automated Hardware-in-the-Loop (HITL) tests with INS hardware
- Evolve and improve GitLab CI pipelines. Ensure pipelines are efficient and runners are operating well.
- Triage test failures, and own “keeping it green”.
- Implement requirements tracing and monitor code coverage
- Write verification reports and document test results and findings.
- Communicate and report on test results - make results visible.
- Ensure that during planning and development, test cases are established
Qualifications
- Bachelor’s degree in Mechatronics Engineering, Computer Science, or a related technical field.
- 5+ years of experience in hardware and software testing, with a focus on automated testing methodologies and CI.
- A track record of turning high level discussions into detailed, personal work plans and reporting progress to management
- A proactive self-starting approach with a track record of initiative, personal responsibility, ownership of work and reputation for making things happen
- Be highly motivated with an energetic, responsive and decisive disposition;
- Proven high standard of attention to detail, time management and “follow-through”.
- Experience with Hardware-in-the-Loop (HITL) testing and integrating hardware with test systems.
- Extensive experience with continuous integration (CI) systems
- Experience interfacing with automated test equipment, such as robot arms and rotary stages.
- Experience with Inertial Navigation Systems (INS) or related technologies (e.g., GNSS, sensors).
- Experience designing, developing and maintaining embedded software simulation and emulation environments using tools such as QEMU, Renode, Simics, or equivalent, for automated verification and testing.
- Excellent analytical, problem-solving, and debugging skills.
- Knowledge of FPGA testing methodologies and tools (e.g., cocotb).
- Strong programming skills in Python, with experience in developing test frameworks and scripts.
- Excellent written and verbal communication skills, and strong attention to detail.
- Possess strategic thinking and strong abilities to distil large amounts of information quickly and accurately
- Solid understanding of test principles, methodologies, and the software/hardware testing lifecycle, with emphasis on CI practices.
- Strong communication and collaboration abilities.
- Nice to have
- Strong mathematics and physics background
- Control system proficiency
- MATLAB proficiency
- Python proficiency