Research Technology Developer

THE FIRM

XTX Markets is an algorithmic trading firm that actively trades tens of thousands of instruments on over eighty venues with a daily volume of almost three hundred billion USD. We 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.

We leverage the talent of the people who work here, 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 our proprietary trading algorithms. The models that drive our trading strategies have evolved considerably over the last 10 years, from econometric methods that gave our company its name, to trees, to neural networks, to modern deep learning architectures. We are actively seeking new methods and ideas.

At XTX Markets technology is our business and we are a diverse organisation which attracts outstanding talent from across all industry backgrounds. We are focused on teamwork and our people collaborate on all aspects of the business, working openly and with respect for each other, our clients and the market. Our culture is non-hierarchical and one where everyone is valued. We strive for excellence in everything we do.

THE ROLE

XTX is a research-driven organisation, built and led by passionate mathematicians and computer scientists. The Research Technology team that you will be a part of lies at the heart of the company – the HPC cluster is understandably regarded as one of the firm’s core assets, and driving its development forward is a primary focus of XTX. The research performed on the cluster is fundamental to the firm’s success; XTX trades globally with volumes of over $250bn per day.

Our cluster is one of the largest HPC clusters in the world, which the research technology team have built by writing software. We have found that most third-party software cannot operate at the scale that XTX requires or cannot offer the reliability and resilience needed running a compute network of this size.

We are a full stack team that works side-by-side with our researchers to make the most performant, reliable, and transparent system we can. We are looking for someone to join in a senior capacity to work with our experienced team to help design and build the software for our HPC cluster.

What we are doing:

  • We are building our own exa-scale filesystem, designed to handle billions of directories, a trillion files and a million clients spanning multiple datacentres, whilst offering complete resiliency against hardware failure. Our job scheduler operates on a dynamic graph of over 10m entries, managing the concurrent operation of 100k tasks. We are building out zero-touch platforms to handle the monitoring, operation, and upgrade of tens of thousands of machines, providing seamless integration with our DC-ops teams.
  • We build our own custom file formats and compression algorithms, beating industry standards, as well as custom GPU tooling and network management software, to optimise the performance we achieve from 20,000 high-end GPUs.
  • As well as building on these projects we are looking to open up our cluster to provide access to more teams and expanding across multiple datacentres.
  • We expect to improve our measurement and optimisation of resource usage across the entire cluster, enhancing performance.
  • Exceptional candidates will be involved in low level software design for interfacing with GPU/CPU, covering all aspects from filesystem and network drivers to computational algorithms.

RESPONSIBILITIES

The Research Technology team at XTX Markets is responsible for all aspects of the firm’s HPC cluster as well as supporting the work of the quantitative researchers that use it. Although the team’s scope encompasses all aspects of infrastructure and software design, implementation and maintenance, this role is primarily focused on software development.

  • Successful candidates will be self-motivated and self-starters; they will actively mentor more junior team members and look to push the boundaries of what the team can achieve.
  • They will constructively engage with the team of researchers and look for novel and scalable ways of solving problems.
  • They will have a strong awareness of risk - not afraid to promote radical change and alternative ways of thinking, but also able to deliver solutions in a pragmatic and secure manner reducing the potential for operational failure.
  • They must be prepared to work in a fast-moving environment and manage the challenges of maintaining a complex live system 24/7 whilst delivering change at short notice or to tight deadlines.

    ESSENTIAL ATTRIBUTES

    • A solid grounding in academic CS fundamentals (algorithms and data structures).
    • Proficient in at least one statically typed language; development will be using Golang and Rust though experience in these is not a pre-requisite. Scripting is mainly in Python.
    • Approximately 5-10 years’ experience designing and building large-scale distributed systems; with the ability to develop highly scalable solutions to problems.
    • Strong problem solving and analytical skills.
    • Familiarity with the Linux operating system; able to engage in diagnosing issues, specifically those associated with performance and scalability.
    • Ability to multi-task, working on multiple projects at once and prioritise appropriately across them.
    • Be highly self-motivated and able to work independently without supervision.
    • Understanding of one or more machine learning frameworks and compute offload devices, like GPUs, is an advantage.

    APPLY HERE