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