Front Office Java Developer - Algorithm
Job Description:
Role Overview
We are seeking a high-caliber Senior Java Developer with a background in competitive algorithms to join our Front Office technology team. You will work directly on the trading floor, sitting alongside traders and quants to build and optimize high-throughput, low-latency trading engines.
The ideal candidate possesses the rare combination of deep Java expertise and the mathematical rigor required to implement complex execution strategies in a "fail-fast" environment.
Key Responsibilities
- Engine Development: Design, develop, and maintain high-performance trading components including order management systems (OMS), pricing engines, and risk monitors.
- Algorithm Implementation: Translate quantitative strategies into production-ready code, ensuring minimal slippage and maximum computational efficiency.
- Performance Tuning: Profile and optimize Java applications to achieve sub-millisecond latency, utilizing low-level techniques such as memory mapping and lock-free concurrency.
- Stakeholder Collaboration: Work closely with the trading desk to gather requirements, provide real-time support for production issues, and deliver rapid-turnaround features.
- Architecture Evolution: Contribute to the migration toward cloud-native or event-driven architectures to support increasing market volumes.
Technical Requirements
- Java Mastery: 5+ years of professional experience with Core Java (17+), including expert-level knowledge of multi-threading, the JVM memory model, and GC tuning.
- Algorithmic Background: Strong foundations in data structures and complexity analysis. Experience with competitive programming or mathematical modeling is highly valued.
- Messaging & Middleware: Proficiency in low-latency messaging frameworks (e.g., Aeron, LMAX Disruptor, or Solace) and binary serialization protocols.
- Domain Knowledge: Previous experience in Front Office environments (Equities, FX, or Fixed Income) and familiarity with the FIX Protocol.
- Infrastructure: Solid understanding of Linux systems, network protocols (TCP/UDP/Multicast), and containerization (Docker/K8s).
Required Skills:
Performance Tuning Data Protocol Messaging Support Modeling Development Core Java Structures Collaboration Data Structures Analysis Trading Algorithms Features Components Architecture Infrastructure Programming Linux Docker Design Java Management