LMAX Software Developer (Core Java)

  • Technology
  • London, United Kingdom

LMAX Software Developer (Core Java)

Job description

We are looking for enthusiastic Software Developers to join the growing development team at LMAX and collaborate with us to solve interesting and challenging technical problems, developing high quality, low latency, performant software.

You won’t find a long list of hard requirements here. If you are a motivated and self-driven developer who will enjoy learning and growing together with us, then we’d love to talk to you.

About LMAX

We design, build and operate FX exchanges in London, Tokyo and New York - facilitating the exchange of over $20 billion a day of currencies between a wide range of customers, including most of the world’s top banks and other financial institutions.

We are also the home of the world's leading institutional Cryptocurrency exchange and have a best in class custodian system that secures our customer’s Cryptocurrency funds.

LMAX’s mission is to transform trading in the world’s biggest financial markets, bringing fairness, openness and transparency - creating a level playing field for all to participate. We are looking for people who want to help us change the game, not just play it.

What you’ll work on

The LMAX dev team works across the whole of the business. To avoid accumulating knowledge silos, we actively rotate developers around our teams, ensuring that everyone gains first-hand knowledge on all areas of our codebase and gets to work on a wide variety of projects, such as:

• Designing and building software for low latency trading systems
• Investigating new block chain technologies
• Analytics tools to help senior management make data-led business decisions
• Improving our platform’s security and resilience

Our tech stack
• Backend: distributed, event-driven core Java (90% of the code base), MySQL
• Frontend: Javascript, Vue.js
• Data analytics: Python & Jupyter notebooks, Parquet, Docker
• Blockchain integrations: Bitcoin (& Litecoin, Bitcoin Cash), Ethereum and XRP (Ripple)
• Testing: JUnit, Mockito, JMH, JCStress, Jenkins, Selenium, many in-house tools…
• OS: Linux (CentOS)
Due to our strict performance requirements, some bits of our architecture aren’t entirely conventional... We don’t expect you to arrive with an in-depth knowledge of all of our stack - we’ll teach you that.

Requirements

What you’ll bring

• A good understanding of how to write clean, efficient, well tested code
• A keenness to learn and to work in a highly collaborative environment
• Strong communication and problem-solving skills
• An appreciation that the simple solution to a problem - while often harder to discover than the complex one - is usually best

Our Values

Working collaboratively: We work in a very social and collaborative environment, even while remote. Working as a team and with colleagues from across the business, allows multiple ideas to combine into stronger designs and better solutions. Pair programming ensures high quality code, supports knowledge growth and sharing of expertise. With many eyes contributing to any code before it goes into production, you will rarely find a traditional code review at LMAX.

Test driven: LMAX relies heavily on test driven development and automation. We gain rapid feedback and confidence from 35,000 end-to-end tests running every half an hour. There are also extensive unit, compatibility, migration, and resilience tests.

We care a lot more about software performance than many other organisations. We have a range of continuous performance tests designed to catch any regression before it reaches production, from targeted microbenchmarks to end-to-end replays of production traffic.

Dedicated to quality: We care a lot about quality; we like to dig deep into the code-base and leave things better than we found them - more readable, better modelled, more performant, more consistent. There is a permanent expectation of delivering high quality, maintainable code, and minimising technical debt.

You won’t be stressed about deadlines and pressured to cut corners just to get things done quickly. As a team we enjoy building software and seeing that software used, and although we want to deliver things in a timely manner, we always strive to write things properly and cleanly the first time.

Always improving: We regularly examine our successes and failures to look at how we can improve both as a team and individually. Alongside regular internal training sessions, we have a generous budget supporting attendance at conferences or training courses and we set aside Friday afternoons as a time for developers to pursue an interest or learn something.

Benefits

• Smart, friendly colleagues keen to share their knowledge and learn new things from you
• The opportunity to work on a wide variety of projects, including cutting edge technology, and interesting technical & performance challenges
• A culture where high quality maintainable code is valued over quick hacks
• Generous funding pot for training courses and conferences
• Flexible working options, and home working support
• Competitive salary
• 25 days holiday (increasing to 30 with service), plus bank holidays
• A benefits suite including ride to work & electric car schemes, private medical insurance, life insurance and critical illness cover, pension plan, gym membership & more
• Relaxed dress-code
• Think you know every IntelliJ shortcut? Think again. (yes, this is a benefit!)

LMAX Group is an equal opportunity employer and actively seeks to ensure that we continue to attract applications from a diverse range of candidates to reflect the diversity that already exists across the organisation.