Overview
In this role you will design and build Java services for IG Group’s Order Management System within a trading platform, focusing on correctness and low latency. You’ll work closely with product and business stakeholders to shape requirements and deliver end-to-end solutions. The position combines hands-on coding with system design, testing, and production support in a high-stakes environment. You’ll contribute to AI-enabled development while ensuring clear decisions and robust observability. This is a chance to influence core trading workflows and scale mission-critical services.
Pay / Benefits
- Competitive salary
- Flexible benefits package
- Private medical cover for you and family
- Life insurance
- Gym memberships
- 25 days holiday + birthday + voluntary work days (total 28) + buy/sell holiday option
Responsibilities
- Own work from elaboration to delivery and support, shaping requirements and delivering end-to-end solutions
- Design and build low-latency, high-throughput Java services for order lifecycle management
- Build and maintain market connectivity including FIX sessions and venue protocols
- Model and evolve order and execution state across multiple life-cycle events
- Ensure correctness with idempotency, ordering guarantees, deterministic replay, and auditable order trails
- Provide production support during market hours and participate in on-call rotation
- Improve developer experience through code review, pairing, mentoring, and tooling/observability enhancements
- Translate between trading language and system behavior with traders and stakeholders
- Utilize AI-assisted development tools while maintaining accountability for production safety
- Contribute to automation, testing, documentation, migrations, and support tooling in an AI-enabled workflow
Key requirements
- Strong commercial experience building and running production Java backend systems on a recent LTS JVM (17/21+)
- Deep JVM knowledge: concurrency, memory model, profiling latency/throughput
- Distributed systems fundamentals: messaging, delivery guarantees, backpressure, failure recovery
- Unit/integration/end-to-end testing with deterministic or property-based approaches
- Solid SQL and relational data modeling with careful schema evolution
- CI/CD, containers, infrastructure as code, production observability (metrics, tracing, logging)
- Clear, effective communication with technical and non-technical audiences
- Ownership mindset from vague requirement to running, documented software
- Trading domain experience is strongly preferred
- Clear communication
- Ownership and accountability
- Collaborative problem-solving
- Java backend development on a modern JVM
- Concurrency and performance tuning on the JVM
- Distributed systems concepts: idempotency, ordering, replay, recovery
…
