C++ Software Engineer : Trading : £120-180k plus excellent bonus : London
Design and develop low-latency, high-throughput trading and market data systems using modern C++ (C++17/20) on Linux, with additional exposure to Python, Rust, Go, Java, or C#. The team handles strategy execution, market data processing, and core infrastructure on the direct trading path.
Free Tailor for ATS: 10/10 runs left
We’re partnering with a top-tier quantitative trading firm to hire an experienced C++ Software Engineer to work on performance-critical trading and market data systems.
This is a role for engineers who care deeply about latency, determinism, and correctness, and who want to build systems where microseconds and design decisions genuinely matter.
The Role
You’ll be part of a core engineering team responsible for low-latency, high-throughput systems that sit directly on the trading path. The work spans strategy execution, market data processing, and core infrastructure, with a strong focus on performance and reliability.
You’ll collaborate closely with quants, traders, and other systems engineers, taking research ideas and turning them into robust, production-grade software.
Key Responsibilities
Design and develop high-performance C++ systems used in live trading
Build and optimise components for market data ingestion, pricing, and execution
Profile, tune, and debug systems where latency and throughput are critical
Contribute to system architecture and low-level design decisions
Maintain high engineering standards around testing, code quality, and reliability
Core Technical Requirements
Strong professional experience with modern C++ (C++17/20)
Deep understanding of data structures, algorithms, and low-level system behaviour
Experience working on latency-sensitive or performance-critical systems
Strong knowledge of Linux, memory management, and concurrency
Comfortable debugging complex issues across large, long-lived codebases
Additional Languages & Technologies (Nice to Have)
Experience with one or more of the following is a strong plus:
Python (for research tooling, prototyping, or system glue)
Rust or Go (modern systems or infrastructure tooling)
Java or C# (broader backend exposure)
Experience with networking, TCP/UDP, multicast, or kernel-level tuning
Familiarity with build systems, CI/CD, and performance profiling tools
Nice to Have (But Not Required)
Exposure to electronic trading systems or financial markets
Experience with lock-free programming, custom allocators, or SIMD
Background in distributed systems or real-time systems