Our client, the largest publicly traded company in the world, is seeking a Senior Java Engineer to join the firms Markets Platform Engineering group. With the OMS sitting between strategies and the central execution systems which act as the interface to the market. This team is in the core position of the investment process and interacts with many other parts of the firm, providing a unique opportunity to build comprehensive knowledge across the trading lifecycle.
As an Senior Java Engineer within the OMT team, you’ll be building and maintaining the Order Management System underpinning the systematic investment process. This is an opportunity to work closely with the trading desk, quant strategy teams, and operations to deliver an Order Management System that is flexible, robust, and performant to safely trade millions of orders annually and enable the onboarding of new investment strategies for the clients. You’ll have direct exposure to cash equities, equity swaps, and futures asset classes covering both listed and OTC markets, while building deep understanding in how they’re executed and booked.
This role offers a unique opportunity to learn soup-to-nuts how data is transformed from investment signals into trading decisions ensuring the trading life cycle is robust and scalable. This position requires support coverage and offers advancement opportunities within Front Office Technology.
The role:
The systems run on Linux via containers, with most systems built using Java and a bit of Python. The platform consists of a Tomcat web application along with a suite of microservices running on the Micronaut framework and others on Python. The platform utilizes event sourcing architecture to propagate state events across service domains. They use Git for source control, Jenkins for continuous integration, JetBrains IntelliJ IDE with GitHub Copilot license, Grafana + Prometheus for metrics collection, Docker for containerization, Slack for internal communication, and much of the Confluence stack including Jira to run our Scrum sprints. That said, our technology is never static: we constantly evaluate new tools and libraries.
In order to qualify:
- Experience with Microservice architectures and libraries (Spring Boot, Micronaut, etc.)
- 5+ years of professional Java experience in an enterprise web application context, including:
- Front End: CSS, JavaScript, JSP, HTML, Ajax, JSON; modern JS libraries such as React, Angular, Node.js
- Middle Tier: Spring MVC or equivalent, Core Spring framework, JPA/Hibernate, Java 8+ (Java 11), Tomcat 8+ (Tomcat 9), messaging frameworks (Kafka, RabbitMQ)
- Back End: Strong SQL and RDBMS knowledge (SQL Server, Oracle), query tuning, stored procedures, exposure to NoSQL (MongoDB)
- Strong SQL and database skills
- Proficiency in Linux shell commands
- Source control experience (Git, SVN, etc.)
- Strong collaborative engineering practices and agile methodologies (Scrum, Kanban)
- Familiarity with Atlassian tools (Jira, Confluence, BitBucket)
- Embracing agentic engineering - willingness to work effectively with AI-assisted development tools as part of daily workflow
Advantageous:
- Understanding of financial markets, instruments, and protocols (FIX)
- Experience with front-office software development (trading systems, equity modelling, analytics)
- Experience working closely with Quants and/or Traders
- Expertise in distributed systems with service-based or event-driven architectures
- Web development experience (TypeScript)
- Relevant mathematical knowledge (statistics, asset pricing, time-series analysis, optimisation algorithms)
- Python knowledge