Trading Systems Developer - Java/Kotlin - OTC Development Team

The Team

The OTC Development Team develops and operates our off-exchange trading system and products which:
- Provides liquidity in thousands of instruments across 5 asset classes, notably in FX (Global FX Market Shares) and Equities (XTX the largest ELP SI in Europe)
- Are built on an in-house JVM-based networking platform processing millions of messages per second per core.
- Implement an event source architecture, allowing hundreds of processes to coordinate state in microseconds.

The Role

This role will focus on maintaining and extending our platforms to:
- Integrate with new trading venues.
- Adapt to new jurisdictions and asset classes.
- Implement new cross-asset pricing features.
- Improve performance, reliability and scalability.

The Successful Candidate

- Will be a very strong Java developer: Our system is overwhelmingly written using modern Java and Kotlin. The more under-the-hood understanding of modern JVMs the better, especially around performance optimisation. We are looking for 3+ years of experience writing Java and/or Kotlin in a professional setting.
- Not necessarily have Kotlin experience - we find it's possible for a great Java developer to pick up Kotlin very quickly.
- Be a testing geek: We release multiple times a day and errors in production can be very expensive. We strongly depend on our suite of thousands of automated tests for the confidence to make dramatic changes reliably.
- Be proactive about taking responsibility: Our team has a very direct impact on profits, very little bureaucracy, and no place to hide. You'll be expected to take on multiple roles including gathering requirements, development, testing, performance monitoring, and release management.
- Not necessarily have finance experience: The instruments we trade are simple, the details of how we do it are not necessarily like other financial institutions.
- Be highly numerate: You will be working all along the real-time pipeline of our trading system, from market data handlers through alpha calculation through price construction, including post-trade analysis. Being able to reason with precision about algorithms and approximations is critical.
- Be a software minimalist: We see maintaining a flexible, lightweight, modern codebase as a competitive advantage. We actively avoid spending time building and maintaining features that don't serve a critical business requirement.