Negotiable
Outside
Hybrid
London Area, United Kingdom
Summary: The role of Senior Java Engineer focuses on developing low-latency systems with an emphasis on high-performance applications. The position requires expertise in Java NIO, event-driven architectures, and performance optimization techniques. The successful candidate will work on custom binary protocols and collaborate with architecture teams to enhance system efficiency. This is a six-month contract based in London with a flexible working arrangement.
Key Responsibilities:
- Designing and optimizing event-driven, non-blocking I/O systems using Java NIO
- Working with ByteBuffers and direct memory access techniques for optimal performance
- Developing and maintaining custom binary protocols, ideally with experience in SBE (Simple Binary Encoding)
- Integrating and fine-tuning Aeron messaging in high-frequency, low-latency environments
- Conducting performance benchmarking using JMH and other micro-benchmarking tools
- Tuning JVMs for real-time applications, including GC tuning (ZGC, Shenandoah) and lock-free/wait-free structures
- Collaborating closely with architecture teams to ensure garbage-free, latency-critical design
Key Skills:
- Core Low-Latency Engineering Experience
- Strong command of Java NIO, selectors, channels, and event loops
- Deep understanding of ByteBuffer usage, memory alignment, and off-heap data structures
- Experience with binary protocols (fixed-width encoding, custom parsers, etc.)
- Hands-on expertise with Aeron or similar low-latency transport layers
- Performance Engineering Knowledge
- Familiarity with threading models like epoll, reactor pattern
- Use of lock-free/wait-free data structures in production
- JVM internals expertise – GC tuning, heap sizing, latency profiling
- Benchmarking experience with JMH, latency histograms, flame graphs
Salary (Rate): 500
City: London
Country: United Kingdom
Working Arrangements: hybrid
IR35 Status: outside IR35
Seniority Level: Senior
Industry: IT