Java Software Engineer (Low Latency)
- london, england, United Kingdom
- Job type not listed
- £90 - £150 Per Hour
Job Description
Location: London, UK
About the Role
We are seeking an experienced Java Engineer specialising in high-performance and low-latency systems to join our London-based engineering team.
You will design, develop, and optimise ultra-low-latency, high-throughput Java applications for performance-critical environments, including real-time and financial market-driven systems.
The role requires strong expertise in JVM internals, advanced concurrency, memory management, networking, and Linux , with a focus on achieving predictable and consistently low latency at both application and system levels.
You will work closely with engineering and infrastructure teams to build event-driven and reactive architectures capable of processing high volumes of real-time data with minimal latency.
Key Responsibilities
- Design and develop high-performance, low-latency Java applications with a strong focus on resource efficiency and predictable performance.
- Optimise JVM performance , including Garbage Collection (GC), JIT compilation, memory allocation, and runtime configuration.
- Design and implement concurrent, event-driven, and reactive systems for real-time processing.
- Develop efficient algorithms and data structures for high-throughput, latency-sensitive applications.
- Work with shared memory, memory-mapped files, and inter-process communication (IPC) for performance-critical workloads.
- Analyse application and system performance using profiling, benchmarking, and observability tools .
- Identify and resolve JVM-level, application-level, and system-level performance bottlenecks .
- Collaborate with infrastructure and platform teams on CPU, memory, networking, and operating-system-level optimisation .
- Design systems that meet strict latency, throughput, reliability, and resource-utilisation requirements .
- Support production systems and continuously identify opportunities to improve performance and scalability.
- Ensure solutions meet the requirements of latency-sensitive trading and market-driven environments .
- Strong hands-on expertise in Java and high-performance application development .
- Deep understanding of JVM internals, JVM tuning, memory management, and performance optimisation .
- Strong knowledge of Garbage Collection, JIT compilation, object allocation, and runtime behaviour .
- Proven experience designing concurrent, low-latency, and high-throughput systems .
- Strong understanding of event-driven and reactive architectures .
- Practical knowledge of Java concurrency, lock-free programming, synchronisation, and multithreading .
- Experience with JNI, Java Unsafe, and/or JNR-FFI .
- Solid understanding of CPU architecture, CPU caching, memory models, and shared-memory concepts .
- Strong knowledge of Linux internals and system-level performance optimisation .
- Good understanding of networking protocols, particularly TCP/UDP , and network performance considerations.
- Strong knowledge of algorithms and data structures , with the ability to optimise them for performance-critical workloads.
- Experience troubleshooting complex production performance and latency issues .
Nice to Have
- Experience with Aeron or other high-performance messaging frameworks.
- Experience working on financial markets, electronic trading, algorithmic trading, or high-frequency trading (HFT) systems.
- Experience with native code integration and system-level optimisation.
- Experience with shared-memory or memory-mapped communication .
- Familiarity with Linux performance tools , CPU profiling, and system-level benchmarking.
- Experience with tools such as Java Flight Recorder (JFR), Java Mission Control (JMC), async-profiler, perf , or similar.
- Experience working with real-time market data, pricing, order management, or execution systems .


