We are seeking an experienced Senior Java Developer with strong expertise in performance engineering, application optimisation and low-latency system development to join our Electronic FX (eFX) Trading Technology team.
The team is responsible for developing, maintaining and enhancing a mission-critical electronic FX trading platform supporting FX and FX Options. The primary focus of this position is to improve application performance, reduce execution latency, maximise processing throughput and ensure the stability and scalability of real-time trading systems.
You will work closely with developers, architects and business stakeholders to identify and resolve performance bottlenecks across complex Java applications, optimise system architecture and deliver measurable improvements in application efficiency and responsiveness.
This is a hands-on technical role requiring strong knowledge of Java internals, JVM architecture, multithreading, concurrency, memory management and performance profiling.
Key Responsibilities- Analyse, profile and optimise existing Java applications to reduce latency, improve throughput and enhance overall system performance.
- Identify and resolve performance bottlenecks across application code, JVM, CPU utilisation, memory allocation, garbage collection, threading and network communication.
- Perform JVM tuning, memory management and garbage collection optimisation to minimise latency fluctuations and improve application stability.
- Design, develop and optimise multithreaded and concurrent applications, focusing on thread management, synchronisation, lock contention and parallel processing.
- Optimise real-time market data processing, FX pricing distribution and trading workflows to support high-volume, latency-sensitive transactions.
- Conduct performance benchmarking, load testing and stress testing to evaluate application behaviour under high-volume trading conditions.
- Use profiling and diagnostic tools to investigate application performance issues and identify opportunities for code-level and architectural improvements.
- Collaborate with development teams on code reviews, technical design and performance improvement initiatives.
- Investigate complex production performance incidents and implement solutions to improve system reliability, resilience and scalability.
- Establish performance baselines, monitoring metrics and automated regression testing to ensure continuous optimisation.
1. Core Java Development
- Minimum 5 years of commercial software development experience using Core Java.
- Strong understanding of Java internals, JVM architecture, object-oriented programming, data structures and algorithms.
- Experience developing complex, high-performance enterprise applications.
2. Performance Tuning & JVM Optimisation
- Proven hands-on experience in performance tuning, profiling and optimisation of real-time, high-performance or low-latency applications.
- Strong understanding of JVM memory management, heap allocation, garbage collection mechanisms and GC tuning.
- Ability to investigate CPU utilisation, memory consumption, object allocation, thread contention and application bottlenecks.
- Practical experience using profiling and diagnostic tools such as Java Flight Recorder (JFR), JProfiler, YourKit, VisualVM or async-profiler.
3. Multithreading & Concurrency
- At least 2 years of hands-on experience developing multithreaded and concurrent Java applications.
- Strong understanding of thread management, synchronisation, thread safety, locking mechanisms and parallel processing.
- Experience identifying and resolving race conditions, deadlocks and lock contention.
- Understanding of asynchronous and event-driven programming.
4. Low-Latency & High-Performance Systems
- Experience designing, developing or optimising high-throughput, real-time or latency-sensitive applications.
- Strong understanding of performance benchmarking, latency measurement and throughput optimisation.
- Knowledge of Linux/Unix environments, operating system fundamentals, TCP/IP and network protocols.
- Ability to troubleshoot performance issues across application, infrastructure and network layers.
5. Software Engineering & Development Practices
- Experience with the full software development lifecycle, including design, development, testing, deployment and production support.
- Familiarity with continuous integration and automated testing tools such as Jenkins, TeamCity, Maven and JUnit.
- Proficient in Unix/Linux scripting and database technologies.
- Strong debugging, analytical and problem-solving capabilities.
- Previous experience in electronic FX trading, FX Options, investment banking, market-making or HFT environments.
- Understanding of FX pricing, market data distribution, order execution and liquidity connectivity.
- Familiarity with FIX Protocol and financial market data messaging standards.
- Experience with high-performance messaging technologies such as Aeron, Chronicle, Netty or LMAX Disruptor.
- Knowledge of low-latency programming techniques, including lock-free programming, zero-allocation coding, off-heap memory and non-blocking algorithms.
- Experience with financial tick databases such as kdb+.
- Knowledge of IT security best practices and enterprise application architecture.
- Strong analytical thinking and problem-solving capabilities.
- Ability to independently investigate and resolve complex technical challenges.
- Excellent communication and collaboration skills.
- Comfortable working within a small, globally distributed engineering team.
- Self-motivated, adaptable and able to work effectively in a fast-paced trading technology environment.
- Strong ownership and commitment to delivering high-quality, reliable and high-performance software.
Please Stay Alert to Potential Scams
We would like to remind you that eFinancialCareers is a job board and does not conduct hiring or ask for payment or any financial details as part of the job application process.
If you receive any suspicious messages claiming to be from us or a hiring company, we urge you not to click on any links and not to reply to the message itself.
Instead, please report the message to our support team at support@efinancialcareers.com.
It is advisable to always verify job offers directly with the hiring company.