C++ Application Developer

  • Risk Management
  • LONDON, United Kingdom

C++ Application Developer

Job description

LMAX is looking for a C++ Application developer to form the basis of the our Quantitative Risk development team. We use a combination of Kanban, Agile, and Devops methodologies blended together to manage the diverse needs of the business. This team works closely with the Operations, and Liquidity teams. This is a new position, and as such you will be expected to take a significant role in the direction of the order management software development process. A finance and/or trading background is not required.

What you’ll work on:

The majority of our code base is written in C++. There’s a small component of Web technology (Javascript/vue.js, HTML and CSS) and databases (SQL) as well.

Design You will be working with other members of the team, both technical and non-technical, to identify and figure out how to implement new models and features.

Performance Working on financial trading software brings some interesting throughput and latency challenges, so we care a lot more about performance than many other organisations. This often requires investigative work and digging deep into the internals of our systems to understand how they behave.

Production Support Our software runs 24x7, so some element of out of hours work and On Call may be required.

Main Duties & Responsibilities

  • Produce clear, well structured, testable, maintainable and efficient C++ Code.
  • Integrate into 3rd Party APIs, develop internal APIs and fit for purpose internal UIs.
  • Spread knowledge throughout the team to avoid siloing (either through use of pairing, brown bags or other methods).
  • Support live quantitative order management applications.
  • A finance and/or trading background is not required.

Requirements

Essential Skills / Experience:

  • C++ development on a Linux/UNIX environment.
  • Automated C++ Testing (ideally Catch2 framework).
  • Basic Web and Javascript experience.
  • Understanding of TCP/IP networking.
  • Ability to understand business requirements and develop systems to meet them.
  • Ability to design well documented, simple and elegant systems which 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 (TDD).
  • Version Control Systems (git, subversion, etc).
  • Continuous Integration Systems (Jenkins, Travis CI).
  • FIX API.
  • JSON-RPC over HTTP / Websocket.
  • Multicast networking and binary market data protocols.
  • Interest in statistical modelling.
  • Web UI Development Frameworks (vue.js).
  • Working knowledge of Kanban and/or Agile methodologies.
  • Science Degree and/or Professional Certifications.