C++ Developer - High Frequency Trading (HFT Systems)
Role details
Job location
Tech stack
Job description
Join MARGO in the UK (London) - High Performance Trading Environments MARGO is a tech-native consultancy delivering elite software engineering expertise to the most demanding financial markets environments. We operate in latency-critical trading contexts where performance, determinism and predictability are core system requirements. Our consultants work in highly specialised trading environments, designing systems that interact directly with exchanges and market venues under extreme time constraints. Business Context You will join a High Frequency Trading / Low Latency Trading environment within one of our partners (investment banks, proprietary trading firms or market makers). The teams design, build and operate latency-sensitive trading systems directly connected to exchanges, typically deployed in colocated environments. These systems are characterised by:
-
Microsecond to sub-microsecond latency constraints
-
Deterministic and predictable execution paths
-
Minimal software and network overhead
-
Direct interaction with market data feeds and order gateways, The role is strongly engineering-driven and focuses on speed, predictability and control of execution rather than functional feature delivery. Depending on the environment, the role may also involve interaction with C# components used outside the ultra-latency-critical execution path., Core HFT Engineering
-
Design, develop and optimise ultra-low latency C++ trading components
-
Work on critical execution paths for market data processing and order routing
-
Implement lock-free and wait-free algorithms
-
Optimise memory allocation, cache locality and CPU utilisation
-
Reduce jitter and tail latency
System-Level & Hardware-Aware Optimisation
- Analyse and optimise CPU behaviour (branch prediction, cache misses, NUMA effects)
- Work closely with infrastructure and network teams on kernel bypass and user-space networking
- Profile systems at instruction-level and hardware-counter granularity
Production Ownership
- Ensure correctness, determinism and stability of production trading systems
- Participate in production releases and live deployments
- Investigate latency regressions and production anomalies
- Maintain rigorous operational discipline
Use of C# (Non-Critical Path) C# may be used outside the latency-critical execution path for:
- Monitoring and control tooling
- Configuration and orchestration services
- Risk guards, limits and kill-switch mechanisms
- Real-time dashboards and operational analytics
C# is not used on the execution path and does not replace core C++ expertise. Technical Environment Core Technologies
- Modern C++ (C++17/20)
- Lock-free programming
- Custom memory allocators
- Zero-copy architectures
- Linux (advanced / low-level understanding)
- CPU pinning
- Huge pages
- NUMA architectures
- Networking
- TCP / UDP market data feeds
- Multicast
- Kernel bypass technologies (DPDK, Solarflare Onload or equivalent)
Latency & Performance Tooling
- CPU profilers and hardware performance counters
- Packet capture and latency measurement tools
- Exchange simulators and market data replay tools
Requirements
Do you have experience in TCP?, * Strong experience in C++ development for performance-critical or low-latency systems
- Proven background in HFT or ultra-low latency trading environments
- Deep understanding of CPU architecture, caches and memory models
- Strong knowledge of concurrency, memory ordering and Linux internals
- Experience working close to hardware and network layers
- Strong production mindset and sense of ownership
Highly Valued
- Exposure to C# in trading, control or monitoring systems
- Experience with market data feed handlers or order gateways
- Prior exposure to market making or proprietary trading environments
- Experience with FPGA-assisted or hybrid architectures, This role is not suitable for candidates with a C#-only background. Core execution systems are implemented in C++.