+44 20 3627 1775

London

£180k+ bonus

Proprietary Trading / Market Maker

Permanent

C++ Software Engineer

This algorithmic trading firm actively trades tens of thousands of instruments on over eighty venues with a daily volume of almost three hundred billion USD. They partner with counterparties, exchanges, and e-trading venues globally to provide consistent liquidity in the Equity, FX, Fixed Income, Commodity & Options markets, helping market participants throughout the world obtain the best prices in the various assets classes we cover.
 
They leverage the talent of the people who work there, modern computational techniques and state-of-the-art research infrastructure to analyse large data sets across markets quickly and efficiently, to maximise the effectiveness of their proprietary trading algorithms. The models that drive the trading strategies have evolved considerably over the last 10 years, from econometric methods, to trees, to neural networks, to modern deep learning architectures. They are actively seeking new methods and ideas.
 
Technology is core to the business and they are a diverse organisation which attracts outstanding talent from across all industry backgrounds. They are focused on teamwork and their people collaborate on all aspects of the business, working openly and with respect for each other, clients and the market. The culture is non-hierarchical and one where everyone is valued. They strive for excellence in everything they do.
 
 
Responsibilities
 
We are seeking a software engineer to join the exchange trading development team (ETD) which covers all proprietary trading technology. ETD take trading ideas from the Quant Research team and turn them into reality using the most appropriate technology. The team is responsible for everything from interpreting arriving market data to dispatching orders. This unusually wide scope provides the ability to make cross-domain optimisations unavailable to competitors, where the same work is often spread across multiple teams.
 
In addition to the core trading platform, they are currently working on an exabyte-scale highly available distributed filesystem, an optimising JIT compiler targeting massively parallel computation and several in-house custom compression codecs. Members of the team also regularly branch out into other technologies such as FPGA and GPU programming.
 
They aren’t serving up adverts, or worrying about user acquisition metrics, or building software for a faceless third party - everything we build is for our own use, and we use what we build to trade c. $250-300 billion worth of assets every day, all in a completely automated manner.
 
They use the right tool for the job but it's likely you would mostly be using C++ and Python.
 
Candidate Requirements  
  • You should have a strong knowledge of modern C++ (C++11 onwards). We have the advantage of a completely post-2011 codebase and have been eager to adopt new features where appropriate.
  • They expect a strong understanding of what really is going on inside a computer when your code is running, for example caching, paging and system calls, as well as how these work and why they work like that. Knowledge of the execution pipeline in a modern CPU is even better: when are instructions executed out of order, why would they be, how is the branch target predicted for an indirect call? A lot of their code is very high performance, and the only way to achieve that is by understanding what’s really going on when it’s executed.
  • You should have a good familiarity with common algorithms and data structures and their performance trade-offs, as well as the ability to reason about the running time of algorithms that you haven’t seen before. Although traditionally this would be covered in a computer science degree most of the existing team are self-taught, so a computer science degree is not necessarily a prerequisite.
  • You will often have to work independently designing complex systems that need to run uninterrupted for long periods of time, so practical experience designing and implementing software systems is a plus.
  • All development is in a Linux environment, in fact many of the team run Linux on their desktops also, so familiarity with the Linux command line and common tools is a plus but by no means a necessity.
  • Prior finance knowledge is not required.

Talk to us

Director