Overview

LMAX is looking for a 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.

What you will be working on

Our infrastructure team works in C++ and our research team works in Python for analysis and automation. This role sits within the middle-office team, working primarily in Python. You'll be collaborating with both teams- supporting research with data analysis and working alongside the infrastructure team when needed. You'll be building Python tools and services that work with large volumes of financial data, used by teams across the business for analysis and reporting. This brings real performance challenges around throughput. You can expect to focus more on software performance than at other organisations, while still striving for clean, maintainable code.

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. As a developer at LMAX you will be expected to help maintain our test framework so that we can continue to develop high quality code at speed.

Responsibilities

  • Produce clear, well-structured and fully tested Python code
  • Focus on performance and throughput
  • 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

Requirements

Essential Skills / Experience

  • Python development, (Numpy/Pandas/SQL)
  • Automated 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

Desirable Skills / Experience

  • Test driven development, with experience in testing at different levels of the system (unit, integration and acceptance tests). 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

Python Middle Office Developer

Apply Now
Back to search page