C++ Software Engineer

C++ Software Engineer

London Full-Time 36000 - 60000 £ / year (est.) No home office possible
X

At a Glance

  • Tasks: Join our team to develop cutting-edge trading technology using C++ and Python.
  • Company: XTX Markets is a leading algorithmic trading firm with a focus on innovation and collaboration.
  • Benefits: Enjoy an onsite gym, free meals, extensive medical benefits, and generous holiday leave.
  • Why this job: Be part of a diverse team that values your input and strives for excellence in a dynamic environment.
  • Qualifications: Strong knowledge of modern C++ and familiarity with algorithms; self-taught candidates welcome.
  • Other info: No prior finance knowledge required; work in a Linux environment.

The predicted salary is between 36000 - 60000 £ per year.

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

We are hiring a software engineer to join our exchange trading development team (ETD) which covers all of XTX’s proprietary trading technology. We take trading ideas from our 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 our orders. This unusually wide scope gives us the ability to make cross-domain optimisations unavailable to our competitors, where the same work is often spread across multiple teams.

In addition to our core trading platform, we 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. We are not 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.

We use the right tool for the job but it is likely you would mostly be using C++ and Python. 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. We 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 our 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 our 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 our development is in a Linux environment, in fact many of us run Linux on our 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.

Benefits

  • Onsite gym, sauna, and fitness classes at no charge
  • Extensive medical benefits including an on-site doctor and therapist at no charge
  • Breakfast and lunch provided daily
  • Various supports for caregivers, including emergency dependent care
  • 25 days paid holiday per year + statutory holiday and paid sick days
  • Generous Pension contributions

C++ Software Engineer employer: XTX Markets

At XTX Markets, we pride ourselves on being an exceptional employer, offering a dynamic work environment where technology and innovation drive our success. Our culture fosters collaboration and respect, allowing employees to thrive while working on cutting-edge projects that directly impact our trading strategies. With extensive benefits including an onsite gym, comprehensive medical coverage, and generous holiday allowances, we are committed to supporting the well-being and professional growth of our team members in a non-hierarchical setting.
X

Contact Detail:

XTX Markets Recruiting Team

StudySmarter Expert Advice 🤫

We think this is how you could land C++ Software Engineer

✨Tip Number 1

Familiarise yourself with the latest features of C++11 and beyond. Since XTX Markets uses a post-2011 codebase, demonstrating your knowledge of modern C++ features during discussions can set you apart from other candidates.

✨Tip Number 2

Brush up on your understanding of computer architecture, particularly how CPUs execute instructions. Being able to discuss concepts like caching, paging, and the execution pipeline will show that you have a deep understanding of performance optimisation.

✨Tip Number 3

Gain practical experience in designing and implementing software systems, especially in a Linux environment. If you can showcase projects or contributions that demonstrate your ability to work independently and handle complex systems, it will greatly enhance your application.

✨Tip Number 4

Engage with the algorithmic trading community online. Understanding current trends and technologies in this space can provide you with valuable insights to discuss during interviews, showing your genuine interest in the field and the company.

We think you need these skills to ace C++ Software Engineer

Proficient in C++ (C++11 and onwards)
Strong understanding of computer architecture
Knowledge of algorithms and data structures
Experience with performance optimisation techniques
Familiarity with Python programming
Ability to design complex software systems
Experience in a Linux environment
Understanding of caching, paging, and system calls
Knowledge of CPU execution pipelines
Problem-solving skills
Ability to work independently
Experience with high-performance computing
Familiarity with distributed systems
Adaptability to new technologies

Some tips for your application 🫡

Tailor Your CV: Make sure your CV highlights your experience with C++ and Python, especially any projects that demonstrate your understanding of modern C++ features. Include specific examples of high-performance code you've written or optimisations you've implemented.

Craft a Strong Cover Letter: In your cover letter, express your enthusiasm for algorithmic trading and how your skills align with the role at XTX Markets. Mention your familiarity with Linux environments and any relevant projects that showcase your ability to work independently on complex systems.

Showcase Problem-Solving Skills: Include examples in your application that demonstrate your problem-solving abilities, particularly in designing algorithms or data structures. Discuss any challenges you've faced in previous projects and how you overcame them.

Highlight Continuous Learning: Since many team members are self-taught, emphasise your commitment to continuous learning. Mention any online courses, certifications, or personal projects that have helped you deepen your knowledge of C++ and software engineering principles.

How to prepare for a job interview at XTX Markets

✨Showcase Your C++ Knowledge

Make sure to highlight your understanding of modern C++ features, especially from C++11 onwards. Be prepared to discuss specific examples of how you've used these features in past projects, as well as your grasp of performance optimisation techniques.

✨Understand System Internals

Demonstrate your knowledge of what happens under the hood when your code runs. Be ready to explain concepts like caching, paging, and system calls, and how they impact performance. This will show that you can write high-performance code.

✨Familiarity with Algorithms and Data Structures

Brush up on common algorithms and data structures, and be prepared to discuss their performance trade-offs. You might be asked to reason about the running time of unfamiliar algorithms, so practice explaining your thought process clearly.

✨Emphasise Practical Experience

Share examples of complex systems you've designed and implemented independently. Highlight any experience you have working in a Linux environment, as this aligns with the company's development practices, even if it's not a strict requirement.

C++ Software Engineer
XTX Markets
X
Similar positions in other companies
UK’s top job board for Gen Z
discover-jobs-cta
Discover now
>