C++ Test Engineer
About the Role
As a Software Engineer focused on test framework development, you will evolve and extend an existing automated testing framework used across a latency‐sensitive C++ algorithmic trading platform. Your work will enable engineering teams to validate complex behaviour deterministically, improve developer feedback loops, and raise overall software quality.
- Type: Contract
- Day Rate: Competitive (inside IR35)
- Hybrid Working (3 days onsite in Waterloo)
- Contract Length: 1+ year
Responsibilities
- Design, implement, and enhance an automated testing framework for C++ services.
- Extend existing test infrastructure to support deterministic, reliable testing of complex logic.
- Build reusable test harnesses, fixtures, and utilities to isolate business logic from external dependencies.
- Integrate automated tests into CI/CD pipelines to provide fast, actionable feedback to developers.
- Support teams in turning defects, incidents, and requirements into stable regression tests.
Required Skills
- Strong C++ and Python software engineering experience in complex codebases.
- Proven experience building or extending automated test frameworks or developer tooling.
- Hands‐on experience with C++ unit testing frameworks (e.g. GoogleTest, GoogleMock, Catch2).
- Solid understanding of concurrency and asynchronous programming, and how to test such systems deterministically.
- Experience using mocking or dependency injection techniques.
- Familiarity with CI/CD pipelines and integrating automated testing into build workflows.
Preferred Skills
- Experience working on low‐latency, distributed, or high‐reliability systems.
- Exposure to deterministic replay, simulation environments, or performance testing.
- Familiarity with test orchestration frameworks such as Testplan (or equivalent).
- Understanding of observability concepts such as structured logging, tracing, and metrics.
How to apply
Please apply through the link on this page.