C++ Algorithmic Trading Developer

ago

Location

Waterloo, London

Hybrid

Salary

Competitive

Employment Type

Full Time

Experience Level

Entry

Junior

Mid

Senior

Expert

Our Client

Global Energy Company

SPECIALTY

Upstream/Downstream, Bio-Fuels, Integrated Gas, New Energies, Chemicals, Energy and Trading

INDUSTRY

Energy

Company Size

80000+ Employees

Aubay's Take

Our client is one of the Super Major global energy companies with who are working to power progress through cleaner energy solutions. You will have the opportunity to work in a challenging but rewarding environment that is fast paced and changing fundamentally, and work towards transforming the business of a Super Major energy company to meet the ambition to be a net-zero emissions energy business by 2050, whilst delivering a world class business case that has a strong societal license to operate. In your role you will be expected to enact change and deliver value globally across business lines and geographies.

Benefits from Aubay

At Aubay UK, people are at the heart of our business. We offer a competitive remunerations package which includes a range of benefits. You will receive continuous support from our dedicated team of Talent Acquisition Specialists who will support your career development and success during your assignment with our client.

25 Days Annual Leave

Work From Home Opportunities

Pension Scheme

Opportunities to Work Directly with our Client

Training Opportunities

Discount Holidays at I'Aero Chalet

Image of the recruiter for this specific role

Have Questions?

Contact Robert

Email - rspicer@aubay.com

LinkedIn - Robert's Profile

Role Summary

Aubay UK is seeking a highly skilled C++ Algorithmic Trading Developer with a strong focus on test framework engineering to support a sophisticated, latency-sensitive trading platform operating across global derivatives markets. This role sits within a high-performing engineering team responsible for ensuring the correctness, reliability, and performance of a complex algorithmic trading system. You will play a key role in designing and evolving automated testing frameworks that enable deterministic validation of trading logic, enhance developer productivity, and improve the overall quality of the platform. Working closely with software engineers, quantitative analysts, and platform teams, you will contribute to the full lifecycle of exchange-traded derivatives systems, from market data ingestion through to execution, while ensuring robust testing practices across all layers of the stack. The position requires a blend of strong C++ engineering expertise, deep understanding of concurrency and distributed systems, and familiarity with global futures markets and exchange protocols.

Required Skills and Experience: 

  • Strong professional experience in C++ software engineering, ideally within complex or high-performance systems.  
  • Proven track record in building, extending, or maintaining automated test frameworks or developer tooling.  
  • Hands-on experience with C++ unit testing frameworks such as GoogleTest, GoogleMock, Catch2, or similar.  
  • Solid understanding of concurrency, multithreading, and asynchronous programming, including approaches for deterministic testing.  
  • Experience with mocking, dependency injection, stubs, and fakes to isolate system components.  
  • Familiarity with CI/CD pipelines and embedding automated tests into build and deployment workflows.  
  • Understanding of global futures exchanges, including market data and order entry protocols (e.g., FIX, binary feeds).  
  • Working knowledge of the exchange-traded derivatives lifecycle (market data → order routing → execution).  
  • Strong analytical and problem-solving skills, with the ability to diagnose and resolve complex technical issues.  
  • Ability to work independently within defined workstreams, with accountability for deliverables and outcomes. 

Desired Skills and Experience: 

  • Experience working on low-latency, distributed, or high-availability systems, particularly within trading environments.  
  • Exposure to deterministic replay systems, simulation environments, or performance testing frameworks.  
  • Familiarity with test orchestration tools (e.g., Testplan or equivalent frameworks).  
  • Knowledge of observability practices, including structured logging, metrics, and distributed tracing.  
  • Experience with Python or other scripting languages to support test tooling and automation.  
  • Understanding of platform-level concerns such as reliability engineering, deployment strategies, and monitoring.  
  • Ability to operate effectively in fast-paced, high-pressure environments, adapting to changing priorities.  
  • Strong communication and collaboration skills, with the ability to engage cross-functional teams.  
  • A pragmatic, disciplined approach to engineering, with a focus on automation, quality, and continuous improvement. 

Roles and Responsibilities: 

  • Design, build, and continuously enhance an automated testing framework for a C++-based algorithmic trading platform.  
  • Develop reusable test harnesses, fixtures, and utilities to enable isolation of business logic from external dependencies.  
  • Extend test infrastructure to support deterministic, repeatable validation of complex trading behaviours.  
  • Contribute to both unit-level testing (via mocks/fakes) and broader integration and end-to-end testing, including scenarios involving real external systems.  
  • Integrate automated tests into CI/CD pipelines, delivering fast, actionable feedback to engineering teams.  
  • Collaborate with developers, quants, and stakeholders to translate defects, incidents, and requirements into robust regression tests.  
  • Provide technical guidance and expertise on testing strategies, frameworks, and best practices across the platform.  
  • Support design and development initiatives by acting as an expert tester or validation lead within project workstreams.  
  • Advise on solving functional and technical challenges related to applications and infrastructure components.  
  • Ensure high standards in test reliability, reproducibility, and maintainability.  
  • Contribute to continuous improvement of engineering effectiveness, platform quality, and development workflows. 

This site uses cookies 🍪

We use cookies and similar technologies to give you a personalised browsing experience, personalised advertising and to analyse our web traffic. Click 'Accept' if you'd like to allow all cookies. Alternatively, you can choose which types of cookies you'd like to accept or disable by clicking 'Reject' below. For more information, please see our Cookie Policy.