Test Analyst

  • Technology
  • LONDON, United Kingdom

Test Analyst

Job description

We are looking for someone who can bring a wide range of skills to our TESTA award-winning team who continually strive to improve their testing skills and processes.

Can you understand the business, the process and the systems?

Can you communicate your understanding and the testing required?

You won't find a long hard list of requirements here but if you enjoy working in a friendly, collaborative and supportive team, who believe in 'doing the right thing' 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 will work on:
You will work within an agile team to help define the story and test requirements, pair with other testers and developers to produce Acceptance and Integration Tests using our in-house DSL and use your testing and domain knowledge to combine automated, exploratory and technical testing; enabling the team to deliver completed stories with minimal technical debt.

Stories can cover anything from core exchange functionality, through big data issues and performance to new portals to manage our business. The process from idea to implementation is fluid and will involve working with colleagues in different parts of the business to understand what they want and how they will use it, whiteboard sessions, digging into code, databases and existing Acceptance Tests to understand behaviour and coming up with new and interesting ways to test, and break, the system.

We follow TDD and BDD methodologies to create automated regression tests and if you are going to test something more than once then automate it – this can mean anything: migrations, databases, invariants, performance, tools, integrations, logging, releases; we have more than the average types of tests. You will have input to all this and hopefully help us to discover more test types along the way. All this automation allows you the time to carry out exploratory testing and try out new ideas to improve the way we develop software. We work together at a sustainable pace and spend the time on those areas that need it, leaving everything in a better state than we found it.
Testing does not stop at release time; with extensive monitoring and “testing in live” you can analyse data from new features for unexpected behaviour or performance and with regular stints as part of the production support pair you will get to assist and understand our business from the front and gain a different perspective.

What you will work on

The LMAX test team works across the whole of the business. To avoid accumulating knowledge silos, we actively rotate testers around our teams, ensuring that everyone gains first-hand knowledge on all areas of our testing and codebase and gets to work on a wide variety of projects, such as:
• Testing low-latency trading systems
• Testing cyptocurrency integrations
• Testing the platform’s security and resilience

Our tech stack
• Backend: distributed, event-driven core Java (90% of the code base), MySQL
• Frontend: Javascript, Vue.js
• OS: Linux (CentOS)
• Testing is mostly via in house tools, written in Java using JUnit, Selenium, Jenkins

Requirements

What we are looking for

With excellent communication skills you have an enthusiastic approach to testing and a passion to continually improve the testing processes. In your previous roles you will have questioned the norms of testing methods and processes and pushed back when it was needed.

Experience of testing web and back-end platforms with strong technical and exploratory testing skills would be useful but we can teach that, however, you must bring problem-solving skills, enthusiasm, the ability to understand complex abstract concepts and be happy learning our set of technologies.

Above all, we are looking for someone who shares our values and is great to work with.

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 micro-benchmarks 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!)