LMAX is looking for a new developer to join their Auckland based team.
LMAX is a financial exchange, predominately used for trading foreign currencies and crypto currencies,
based out of London with sites in Tokyo, Hong Kong, Singapore, Gibraltar, Auckland and New York.
Commitment to quality. LMAX was an early adopter and continues to be a leader
in the area of Continuous Delivery. We believe a system based on “fast feedback cycles”
is a great way to build a stable, well performing system. To support this we employ a
lot of automated testing, automated deployment and continuous integration.
The automated test suite gives our developers confidence to make significant changes
to the system.
Working collaboratively. Software is not built in a vacuum, people with blended skill sets
working together produces 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.
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.
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.
What we’re looking for:
Above all we are looking for someone who shares our values and is great to work with.
Compensation will be based on the level of 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.