LMAX Group is looking for a C++ Application developer to form the basis of our quantitative risk
development team. This team works closely with the operations, risk management and liquidity
teams to operate a small amount of proprietary risk for the business. In this position you can
expect to take a significant role in the development process of our order management software.
A finance and/or trading background is not required.
What you will be working on
The majority of our codebase is written in C++, a language which the team has a passionate
interest in.
Design
You will be working with other members of the team to design and implement features for our
trading system with a predominant focus on infrastructure. We are looking for developers who
are confident in their ability to develop software, both with others and on their own.
Performance
Working on financial trading software brings some interesting technical challenges in the areas
of throughput and latency. Working here you can expect to focus more directly on software
performance than at other organisations, while striving to produce code that is easily
maintainable. Developing in this area you can expect to be performing investigative work,
digging deep into our system to understand how it works, and how it can be improved. You can
also expect to develop performance benchmark tests to monitor how are software's
performance is improving over time.
Production Support
Our software runs 24x7, so some element of out of hours and On Call may be required.
Main Duties and Responsibilities
-
Produce clear, well-structured and fully tested C++ code.
-
A focus on writing low latency software in the hot-path areas of our system.
-
Spread knowledge throughout the team to avoid siloing. This is a highly collaborative team
-
and you can expect to be working on new software features closely alongside other
-
developers, using pair programming to increase the spread of knowledge.
-
Continuously design and implement new features that improve the safety, performance
-
and usability of our software.
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.
Essential Skills / Experience
-
C++ development on a Linux/UNIX environment.
-
Automated C++ Testing.
-
Version Control Systems.
-
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).
-
Continuous Integration (Jenkins).
-
Knowledgeable in improving software performance in a systematic way.
-
Knowledge of Websocket, TCP/IP and multicast networking.
-
An interest in compilers.
-
Science or Maths related degree.
-
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