Software Developer

  • Technology
  • London, United Kingdom

Software Developer

Job description

What you’ll work on:

Design. You will be working with other members of the team to determine how to implement a given feature or meet a specific requirement. This is a fairly fluid process with lots of discussion and white-boarding, while avoiding extensive documentation.

Coding, and lots of it. The majority of our code base is in Java, which continues to be our language of choice - we stay up to date and use the latest versions and language features. There is a decent chunk of Web technology (Javascript, HTML, and CSS) and SQL too.

Production support. A necessary part of any production system. All developers participate in supporting our business and technology operations staff to resolve issues as they occur.

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

Our values:

A commitment to quality. A system based on “fast feedback cycles” is a great way to build a stable, well performing system. To support this we employ a significant amount of static analysis, automated testing, automated deployment and continuous integration. LMAX Exchange was an early adopter and continues to be a leader in the area of Continuous Delivery (one of the authors worked for us for several years).

Working collaboratively. Software is not built in a vacuum, people with blended skill sets working together produce the best results. We use practices like collaborative design and pair programming. This allows us to work together on design and implementation as well as sharing knowledge and helping new starters get up to speed quickly. For testing we eschew a “throw it over the wall” mentality and developers will write and do a lot of their own testing, which frees up the test analysts to do higher value exploratory testing.

Keeping it simple. Modern software systems are very complex. Simplicity helps us build a more reliable and higher performing system. We work hard to ensure our systems are as simple as possible to solve the problems at hand. Unfortunately, simple isn’t easy and we will often put in that extra bit of effort to get us to a satisfactory solution.

Always improving. We think we do a number of things well (many of our team have spoken at conferences about how we build software and handle challenging performance problems), but we recognise that we are far from perfect and can always get better. We regularly examine our successes and failures to look at how we can improve. We have a generous training budget for our technology staff.

Requirements

What we’re looking for:

Above all we are looking for someone who shares our values and is great to work with. We will consider candidates at a range of levels from graduate to experienced senior developers. Compensation will be based on the experience and expertise that you bring to the team.Knowledge of our technology stack and business domain is useful, but by no means a requirement. However, you will need to be happy working with our set of technologies and be willing to retrain if required.You must also have appropriate eligibility to work in the UK. 

Additional information: 

LMAX Exchange 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.We offer a competitive range of benefits including 25 days a year annual leave. Optionally a small amount of international travel is available. We manage our workflow to free up Friday afternoons to work on self-chosen projects outside of the immediate business priorities.