Senior C++ Developer - Core Pricing & Risk Platform
Engineering · London · Full-time · On-site
Annual base salary: £220,000 – £250,000 GBP
Role description
Our work sits at the intersection of statistical modelling, market microstructure, and engineering. The aim is straightforward, if not easy: extract durable signals from noisy data and convert them into scalable, risk-aware strategies. That requires intellectual honesty, a tolerance for ambiguity, and a willingness to discard ideas that do not survive contact with reality.
We operate in small, highly collaborative teams where research, engineering, and trading are tightly coupled. Outcomes matter. Not narratives, not backtests that look good in isolation, but strategies that hold up live. Compensation and progression reflect that directly.
Beyond trading, we invest in building internal tools, data infrastructure, and research workflows that compound over time. The edge is rarely a single idea; it is the system that produces and evolves ideas faster than others.
Responsibilities:
Core member of the technology stack, building and refining high-throughput, Linux-based services that sit directly in the trading path. Not peripheral systems. This is where flow actually moves.
Integrate and maintain pricing models used for trading and risk. These aren’t static libraries. They evolve with the market, and they break if you don’t understand them.
Work across adjacent services within the platform, including order management, trade capture, position keeping, product reference, and market data systems. The system is interconnected whether you like it or not.
Collaborate closely with pricing quants, quantitative developers, traders, and operations. Ideas don’t live in isolation here. They get tested, challenged, and either deployed or discarded.
Build primarily in C++ and Python, where performance and control both matter. One gives you speed, the other gives you flexibility. You’re expected to know why and when.
Engage directly with the trading desk and risk managers. No layers to hide behind. If something breaks or underperforms, you’ll hear about it in real time.
Requirements
Requirements:
4+ years of experience in a front or middle office environment, where systems are tied directly to trading outcomes. You’ve seen production pressure, not just clean abstractions.
Deep expertise in low-latency, high-throughput Linux development using advanced C/C++ and STL. You understand where cycles go, and you don’t waste them.
Strong experience designing and building multithreaded and distributed systems. Concurrency isn’t theoretical to you. You’ve dealt with race conditions, contention, and failure modes in the wild.
Experience working with pricing models is highly desirable. You don’t need to be a quant, but you should understand what the models are doing and how they fail.
Solid understanding of asset classes such as Equities, Futures, Options, and Swaps is preferred. Markets have structure, and ignorance of it shows quickly.
Familiarity with execution and instrument lifecycles, including corporate actions, settlement, bond coupons, and swap resets. The unglamorous plumbing that breaks first if misunderstood.
Advanced knowledge of distributed network architecture. Latency, reliability, and data flow are not buzzwords, they’re constraints you design around.
Proficient with Linux and the GCC toolchain, including Red Hat environments. You should be comfortable operating close to the system, not abstracted away from it.
Experience with GUI frameworks such as Qt, wxWidgets, or MFC is a bonus. Useful, but not where the real game is played.
Clear communicator and effective collaborator. Not because it sounds nice, but because systems like this fail quickly when people operate in silos.