Middle Office Developer (C++/Python)

Middle Office Developer (C++/Python)

Full-Time 60000 - 80000 £ / year (est.) No working from home possible
LMAX Group

At a Glance

  • Tasks: Join our middle-office team to develop C++ and Python software for trading systems.
  • Company: LMAX, a leading financial technology firm with a collaborative culture.
  • Benefits: Enjoy 25 days holiday, bonuses, private medical cover, and wellness programs.
  • Other info: Dynamic environment with opportunities for learning and career growth.
  • Why this job: Make an impact in finance tech while tackling exciting technical challenges.
  • Qualifications: Experience in C++ and Python development; finance background not required.

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

LMAX is looking for a C++ and Python developer to join our middle-office team. This team works closely with the infrastructure, research and treasury teams. In this position you can expect to take a significant role in the development of our trade reconciliation, back‑testing framework and trading monitoring. You will be working with the team to design and implement our trading system with a predominant focus on data engineering. We are looking for developers who are confident in their ability to develop software, both with others and on their own. A finance or trading background is not required.

Our code base is currently split between C++, a language which the infrastructure team works on, and Python, which is used by the research team for analysis and automation. This role is part of a new team to help bridge the gap between the two.

Performance

Working on financial data brings some interesting technical challenges in the area of throughput. Here you can expect to focus more directly on software performance than at other organisations, while still striving for easily maintainable code. You will be digging deep into our system, understanding how it works and where it can be improved.

Testing

We rely heavily on validating our system using our extensive test suites. We test at all levels of our system from unit testing to full end‑to‑end tests in which the entire system is launched and tested in a simulated environment. All tests are run every 15 minutes on our CI to give us a fast and reliable feedback cycle. There is no waiting for overnight test suites here.

Responsibilities

  • Produce clear, well-structured and fully tested C++ and Python code
  • A focus on writing high throughput software
  • Use pair programming to increase the spread of knowledge and avoid siloing
  • Continuously design and implement new features that improve the safety, performance and usability of our software
  • Write interface code that spans C++ and Python (pybind)

Essential Skills / Experience

  • C++ development, modern C++ on a Linux/UNIX environment
  • Python development, (Numpy/Pandas/SQL)
  • Automated C++ and Python Testing
  • Ability to understand business requirements and develop systems to meet them
  • Ability to design well documented, simple and elegant systems that are easily maintainable
  • Ability to work independently and with little guidance
  • A finance and/or trading background is not required

Desirable Skills / Experience

  • Test driven development, with experience in testing at different levels of the system (unit, integration and acceptance tests). For C++ we use Catch2 and for python we use pytest
  • Experience with pybind/nanobind
  • Airflow DAGs or equivalent workflow orchestration
  • Polars for high-performance data processing
  • Continuous Integration (Jenkins)
  • Knowledge of Websocket, TCP/IP networking
  • Science or Maths related degree

Benefits

  • 25 days of holiday
  • Bonus
  • Pension contribution
  • Private medical, dental, and vision coverage
  • Life assurance
  • Critical illness cover
  • Wellness contribution program with access to ClassPass
  • Plumm Platform
  • Five volunteering days
  • Give as You Earn initiative
  • Learning and development programs
  • Electric Vehicle Scheme
  • Cycle to Work Scheme
  • Season Ticket Loan

Middle Office Developer (C++/Python) employer: LMAX Group

LMAX is an exceptional employer that fosters a collaborative and innovative work culture, where developers are empowered to take ownership of their projects while bridging the gap between C++ and Python. With a strong focus on employee growth, LMAX offers extensive learning and development programmes, alongside generous benefits such as private medical coverage, wellness contributions, and flexible volunteering days. Located in a dynamic financial environment, this role provides unique opportunities to tackle challenging technical problems while contributing to the evolution of cutting-edge trading systems.

LMAX Group

Contact Details:

LMAX Group Recruitment Team

StudySmarter Expert Advice🤫

We think this is how you could land Middle Office Developer (C++/Python)

Tip Number 1

Network like a pro! Reach out to folks in the industry, attend meetups, and connect with LMAX employees on LinkedIn. A friendly chat can sometimes lead to opportunities that aren’t even advertised!

Tip Number 2

Show off your skills! Create a GitHub profile showcasing your C++ and Python projects. This gives potential employers a peek into your coding style and problem-solving abilities, making you stand out from the crowd.

Tip Number 3

Prepare for technical interviews by brushing up on your coding skills. Practice common algorithms and data structures in both C++ and Python. We recommend using platforms like LeetCode or HackerRank to get in the zone!

Tip Number 4

Don’t forget to apply through our website! It’s the best way to ensure your application gets seen by the right people. Plus, it shows you’re genuinely interested in joining the LMAX team!

We think you need these skills to ace Middle Office Developer (C++/Python)

C++ Development
Python Development
Numpy
Pandas
SQL
Automated Testing
Test Driven Development

Some tips for your application 🫡

Tailor Your CV:Make sure your CV highlights your C++ and Python skills, especially any projects or experiences that showcase your ability to write clear and maintainable code. We want to see how you can bridge the gap between the two languages!

Showcase Your Testing Skills:Since we rely heavily on testing, mention any experience you have with automated testing frameworks like Catch2 or pytest. This will show us that you understand the importance of robust testing in software development.

Highlight Collaboration Experience:We love teamwork! If you've worked in pair programming or collaborative environments before, make sure to include that in your application. It’s a great way to demonstrate your ability to share knowledge and avoid siloing.

Apply Through Our Website:Don’t forget to apply through our website! It’s the best way for us to receive your application and ensures you’re considered for the role. Plus, it shows you’re keen to join our team at LMAX!

How to prepare for a job interview at LMAX Group

Know Your Tech Stack

Make sure you brush up on your C++ and Python skills before the interview. Be ready to discuss your experience with both languages, especially in a Linux/UNIX environment. Familiarise yourself with modern C++ features and Python libraries like Numpy and Pandas, as these will likely come up during technical discussions.

Understand the Role

Take the time to understand what the middle-office team does and how it interacts with other teams like infrastructure and research. Being able to articulate how your skills can bridge the gap between C++ and Python will show that you’re not just a coder, but someone who understands the bigger picture.

Prepare for Pair Programming

Since pair programming is a key part of the role, be prepared to demonstrate your coding skills in real-time. Practice explaining your thought process while coding, as this will help showcase your ability to collaborate and share knowledge effectively.

Showcase Your Testing Knowledge

Given the emphasis on testing at LMAX, be ready to discuss your experience with automated testing frameworks like Catch2 for C++ and pytest for Python. Highlight any projects where you implemented test-driven development or worked with CI tools like Jenkins, as this will demonstrate your commitment to quality code.