{bc}
workday

Senior Software Engineer

IG Group
GBR
Full-time
Senior
Onsite
Discovered 4 days ago

Full Job Posting

What you’ll do

  • Take ownership of work from elaboration through to delivery and support: shaping requirements with stakeholders, designing the solution, building it, testing it, shipping it and running it.
  • Design and build low-latency, high-throughput Java services that accept, route and manage orders across the full order lifecycle.
  • Build and maintain market connectivity: FIX sessions and venue-specific protocols, including certification and conformance testing with counterparties.
  • Model and evolve order and execution state: order types, time-in-force, partial fills, amends, cancels, rejects, drop copies, reconciliation and end-of-day processing.
  • Treat correctness as a first-class concern: idempotency, ordering guarantees, deterministic replay, and a complete, auditable trail of every order state transition.
  • Support the platform in production during market hours, including participation in the team’s on-call rotation and incident response.
  • Raise the bar around you: design and code review, pairing, mentoring, and steady improvement of the team’s testing, tooling and observability.
  • Translate between trading language and system behaviour — in both directions — when working with traders, dealers, quants and business stakeholders.
  • Building software with AI:
  • AI-assisted development is part of how this team works, not an experiment running alongside it. We expect engineers to be fluent with the tooling and equally clear about its limits.
  • Use AI coding assistants as part of your everyday toolkit — scaffolding, refactoring, test generation, and finding your way around unfamiliar code.
  • Apply the same rigour to AI-generated code as to human-written code. You remain accountable for everything that reaches production; in a trading system that accountability is absolute.
  • Know when the assistant helps and when it gets in the way and be able to explain and defend every design decision you ship regardless of how the first draft was produced.
  • Help the team build good practice: prompting and context patterns, project rules and guardrails, evaluating output, and reviewing critically.
  • Contribute to developer experience and automation more broadly — AI-assisted testing, documentation, migrations and support tooling.
  • What you’ll need:
  • Essential
  • Strong commercial experience building and running production backend systems in Java. This is a Java role on a Java platform; comfort with a recent LTS release (17 / 21 or later) and modern language features is expected.
  • Real depth on the JVM: concurrency and the memory model, collections, allocation and garbage collection behaviour, and the ability to profile and measure latency and throughput rather than reason about them by feel.
  • Distributed systems fundamentals — messaging, delivery semantics, idempotency, ordering, backpressure, partial failure and recovery — and sound judgement about which guarantees a given problem actually requires.
  • Testing you would stake a release on: unit, integration and end-to-end, with an appetite for deterministic or property-based approaches where the domain warrants them.
  • Solid SQL and relational data modelling, including schema evolution in a system that cannot lose or misstate an order.
  • Comfort with CI/CD, containers, infrastructure as code, and operating what you build: metrics, tracing, structured logging, alerting.
  • Clear communication with technical and non-technical audiences alike — you can run a design discussion with dealers in the room.
  • Ownership: you take a problem from a vague requirement to monitored, documented, running software.
  • Strongly preferred — trading domain experience here is what distinguishes a strong candidate for this role from a strong general backend engineer.
  • Hands-on experience with an OMS, EMS, PMS or comparable trading system, buy-side or sell-side.
  • FIX protocol in production: FIX 4.2 / 4.4 / 5.0 (FIXT), the distinction between session and application layers, custom tags and counterparty dialects, QuickFIX/J or an equivalent (including in-house) engine, and certification with venues, brokers or liquidity providers.
  • Other market connectivity: native or binary exchange APIs (ITCH / OUCH and similar), broker and LP APIs, market data feeds, direct market access and order routing.
  • Trading domain knowledge: the order lifecycle end to end, order types and time-in-force, execution algorithms, allocations, clearing and settlement, corporate actions, margin and risk, and multi-asset instrument and reference data — equities, futures, options, FX, CFDs.
  • Regulatory context and why it shapes design: MiFID II and best execution, transaction and trade reporting, audit trails, surveillance touchpoints.
  • Strongly preferred — engineering
  • Event sourcing and CQRS — having designed, built or run a system along these lines is a real advantage in a service where every state transition matters.
  • Other JVM languages — Kotlin, Scala, Clojure — as evidence that you know the platform beyond a single language.
  • Low-latency techniques and tooling: lock-free data structures, off-heap or allocation-free design, and libraries such as Aeron, Chronicle or the LMAX Disruptor.
  • Event streaming (Kafka or similar), Kubernetes, and public cloud (AWS / GCP / Azure).
  • Welcome, but not required
  • Experience with Python, or with lower-level languages such as C++ or Rust, is an advantage — particularly if you have used them in a trading environment. To be unambiguous, though: the language you will write day to day is Java, and we are not asking you to bring another one.
  • The Perks:
  • Competitive salary
  • Flexible Benefits Package on top of your salary (12%)
  • Private medical cover for you and your family
  • Life insurance
  • Contribution to gym memberships
  • 25 Days holiday, with 1 additional day off to celebrate your Birthday & 2 additional days off a year for voluntary work (28 in total)
  • The option to buy or sell holiday days
  • A comprehensive global and local onboarding process
  • Enhanced primary (maternity), secondary (paternity), and shared parental pay and leave, as well as a range of support and benefits for parents
  • Number of openings
  • 1

Qualifications

  • Hands-on experience with an OMS, EMS, PMS or comparable trading system, buy-side or sell-side.
  • Experience with Python, or with lower-level languages such as C++ or Rust, is an advantage — particularly if you have used them in a trading environment. To be unambiguous, though: the language you will write day to day is Java, and we are not asking you to bring another one.

Apply for this job in 1 click

Skip the repetitive application forms

Install the Base Career Chrome Extension and autofill job applications across major job boards with your profile.

Sarah M.James T.Maya R.

Trusted by over 500,000 job seekers on Base Career

Start Free Today

More from this employer

More jobs at IG Group