Software Engineer - Low Latency
Software Engineer - Low Latency

Software Engineer - Low Latency

London Full-Time 48000 - 72000 Β£ / year (est.) No home office possible
Go Premium
M

At a Glance

  • Tasks: Design and implement ultra-low latency C++ systems for high-frequency trading.
  • Company: Join Millennium, a leader in quantitative trading, shaping the future of finance.
  • Benefits: Enjoy competitive pay, remote work options, and a collaborative tech-driven culture.
  • Why this job: Work with top programmers to tackle significant engineering challenges in a fast-paced environment.
  • Qualifications: Degree in computer science; strong C++ skills and understanding of low-latency systems required.
  • Other info: Opportunity to influence trading technology and collaborate across divisions.

The predicted salary is between 48000 - 72000 Β£ per year.

Software Engineer – Low Latency The Latency Critical Trading team seeks a software engineer who is excited to architect, design, and implement low latency C++ systems that are robust, resilient, accurate, stable, and blindingly fast. By building and maintaining this high-performance infrastructure, this developer will help to position Millennium as a leader in the field of quantitative trading. You will shape the future of this industry while you work alongside other exceptional programmers and strategists to solve some of the most significant engineering problems in the world. Responsibilities: Assisting in the development of a tick by tick backtesting research platform and exchange simulation Collaborating with hardware and software developers across divisions to build ultra-low latency trading systems Contributing towards the team’s technical direction by driving new initiatives Developing and optimizing large-scale parallel computation problems that require large quantities of data shared across resources Developing systems, interfaces, and tools to historical market data and trading simulations that increase research productivity Designing and implementing a low latency high-frequency trading platform, which includes collecting quotes and trades from and disseminating orders to exchanges around the world Optimizing this platform by using network and systems programming, as well as other advanced techniques to minimize latency Helping build and maintain our automated test and benchmark framework, risk-management, performance-tracking, and other tools Testing, implementing, and benchmarking different feed handlers (internal and external) on different hardware offerings and settings (e.g. Solarflare, Mellanox NICs, different switches, different compilers and compiler flags, different OS options, etc.) Working closely with trading teams to gather requirements and develop solutions in a fast-paced environment Working with development and support teams to adapt to exchange technical upgrades Key Requirements: A degree in computer science or a related field A strong background in data structures, algorithms, and object-oriented programming in C++ Strong template, meta programming, and generic programming knowledge a plus. Comfortable with new features of C++17 and C++20 Strong understanding of low-latency and real-time system design and implementation Good understanding of Linux system internals and networking Deep understanding of CPU architecture and the ability to leverage CPU capabilities Strong financial experience across multiple asset classes, particularly Options knowledge Strong understanding of multiple trading venue protocols and unique behaviors (for both Market Data, and Order Entry, with a focus on Market Data) Knowledge of any other development language, including Java, Python, or Perl and shell scripts (a plus) #J-18808-Ljbffr

M

Contact Detail:

Millennium Management Recruiting Team

StudySmarter Expert Advice 🀫

We think this is how you could land Software Engineer - Low Latency

✨Tip Number 1

Familiarise yourself with the latest C++ standards, especially C++17 and C++20. Being well-versed in these features will not only enhance your coding skills but also demonstrate your commitment to staying updated in a fast-evolving field.

✨Tip Number 2

Gain hands-on experience with low-latency systems by working on personal projects or contributing to open-source initiatives. This practical knowledge will be invaluable during interviews and discussions with our team.

✨Tip Number 3

Network with professionals in the quantitative trading space. Attend industry meetups or online forums to connect with others who can provide insights into the role and potentially refer you to opportunities at StudySmarter.

✨Tip Number 4

Prepare to discuss your understanding of CPU architecture and how it impacts low-latency system design. Being able to articulate this knowledge will set you apart from other candidates and show your depth of expertise.

We think you need these skills to ace Software Engineer - Low Latency

C++ Programming
Low-Latency System Design
Real-Time System Implementation
Data Structures and Algorithms
Object-Oriented Programming
Template and Meta Programming
Generic Programming
C++17 and C++20 Features
Linux System Internals
Networking Knowledge
CPU Architecture Understanding
Financial Markets Knowledge
Options Trading Expertise
Trading Venue Protocols
Benchmarking and Performance Testing
Collaboration with Cross-Functional Teams

Some tips for your application 🫑

Tailor Your CV: Make sure your CV highlights your experience with C++ and low-latency systems. Include specific projects or roles where you've optimised performance or worked on trading platforms.

Craft a Compelling Cover Letter: In your cover letter, express your enthusiasm for the role and the company. Mention how your skills align with their needs, particularly in areas like data structures, algorithms, and real-time system design.

Showcase Relevant Projects: If you have worked on any relevant projects, especially those involving high-frequency trading or low-latency systems, be sure to include them. Describe your role and the impact of your contributions.

Highlight Collaboration Skills: Since the role involves working closely with other developers and trading teams, emphasise your teamwork and communication skills. Provide examples of successful collaborations in your previous roles.

How to prepare for a job interview at Millennium Management

✨Showcase Your C++ Expertise

Be prepared to discuss your experience with C++, especially focusing on low-latency systems. Highlight any projects where you've implemented advanced features from C++17 or C++20, and be ready to explain your approach to optimising performance.

✨Demonstrate Problem-Solving Skills

Expect technical questions that assess your understanding of data structures, algorithms, and real-time system design. Practice solving problems on the spot, as this will showcase your ability to think critically under pressure.

✨Understand the Financial Context

Familiarise yourself with financial concepts, particularly around options and trading venues. Being able to discuss how your technical skills can solve real-world trading problems will set you apart from other candidates.

✨Prepare for Collaborative Scenarios

Since collaboration is key in this role, be ready to discuss past experiences working with cross-functional teams. Share examples of how you gathered requirements and developed solutions in a fast-paced environment, demonstrating your teamwork and communication skills.

Software Engineer - Low Latency
Millennium Management
Location: London
Go Premium

Land your dream job quicker with Premium

You’re marked as a top applicant with our partner companies
Individual CV and cover letter feedback including tailoring to specific job roles
Be among the first applications for new jobs with our AI application
1:1 support and career advice from our career coaches
Go Premium

Money-back if you don't land a job in 6-months

M
Similar positions in other companies
UK’s top job board for Gen Z
discover-jobs-cta
Discover now
>