Test Analyst
Description:
About Us
LMAX Group is a global financial technology company and the leading independent operator of multiple institutional execution venues for FX and crypto currency trading. The Group’s portfolio includes LMAX Exchange (institutional FX exchange and FCA regulated MTF), LMAX Global (FCA and CySec regulated brokers) and LMAX Digital (GFSC regulated institutional spot crypto currency exchange).
Our mission is to create a level playing field for all participants in the world’s biggest financial markets, through transparent, precise and consistent execution, based on robust trading technology.
We are looking for people who want to help us change the game, not just play it.
LMAX Group fosters inclusive recruitment practices. We are an equal opportunity employer as we welcome everyone to our team. We encourage people of colour, people from LGBTQ+ community, and people with disabilities to apply. Please let us know if you need reasonable adjustments at any point in the application or interview process.
About the Role:
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.
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 cryptocurrency integrations
• Testing the platform’s security and resilience
Requirements:
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.
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
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:
- 25 days of holiday
- 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
- Pension: 401K
- Private medical, dental, and vision coverage
- Life insurance
- TriNet Platform
- Wellness contribution program with access to ClassPass
- Plumm Platform
- Five volunteering days
- Learning and development programs
- Season Ticket Loan
- Relaxed dress-code
- Think you know every IntelliJ shortcut? Think again. (yes, this is a benefit!)