Job description
Principal Developer – FX Trading Systems (Java / C++)
Location: London or Nottingham (Hybrid)
Rate: £490 per day (Outside IR35)
Contract: Initial contract until end of year, with strong likelihood of extension as part of a multi-year programme.
The Opportunity
An established financial services organisation is seeking an experienced Principal Developer to play a key role in the architecture and development of a high-performance FX Matching Venue. This is a senior technical leadership role within a large, multi-year programme focused on building next-generation trading infrastructure.
The successful candidate will combine deep Java expertise, exposure to C++, and strong experience delivering low-latency trading platforms, particularly within FX markets.
Key Responsibilities
- Lead the architecture and development of a high-performance FX Exchange platform using Java as the primary language, with some exposure to C++.
- Design scalable and resilient systems supporting FX Spot and FX Swaps trading while ensuring solutions meet operational, risk and regulatory requirements.
- Optimise applications and Linux environments to achieve low-latency trading performance.
- Promote best practices across the software development lifecycle, including code quality, automated testing and CI/CD pipelines.
- Drive continuous improvements in system performance, reliability and maintainability.
- Provide technical leadership and mentorship to Agile development teams.
- Collaborate with architecture, product and commercial stakeholders to align technology delivery with business objectives.
- Act as a technical subject matter expert for FX trading systems across the organisation.
- Support the development of a best-in-class FX matching platform across FX Spot and FX Swaps products.
- Contribute to innovation and platform improvements in performance, usability and operational stability.
- Deliver a robust and scalable FX matching platform covering FX Spot and FX Swaps.
- Drive improvements in software quality, platform performance and team productivity.
Required Experience
- Degree in Computer Science, Software Engineering, Electrical Engineering, or a related discipline
- Extensive hands-on experience in low-latency Java development with exposure to C++
- Strong knowledge of multithreading and concurrency in high-frequency trading systems
- Experience implementing low-latency state machines
- Working knowledge of FIX protocol and binary market data protocols
- Strong experience working within Linux environments
- Proven track record building FX trading applications, particularly across FX Spot and FX Swaps
- Experience delivering systems within regulated financial services environments
- Experience working with Agile development methodologies
- Familiarity with CI/CD pipelines and development tools such as Git, GitLab, Bamboo, Bitbucket and SonarQube
- Experience with application security tools such as Veracode, Coverity or Black Duck
- A pragmatic and automation-focused approach to engineering