C++ Developer - High Frequency Trading (HFT Systems)

Margo Conseil
Charing Cross, United Kingdom
2 days ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English

Job location

Charing Cross, United Kingdom

Tech stack

Algorithmic Trading
C Sharp (Programming Language)
C++
Microarchitecture
Linux
Memory Management
Field-Programmable Gate Array (FPGA)
Monitoring of Systems
High-Frequency Trading
Network Layer
Multicasting
Packet Analyzer
Software Engineering
Software Requirements Analysis
Transmission Control Protocol (TCP)
Concurrency
Low Latency

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++.

Apply for this position