Senior Software Engineer - FX Trading (C++)
FXGO is a world-class trading platform that allows traders to buy and sell currencies (FX) 24/5. The FX market is the largest market in the world, with more than $6 trillion traded every day- and our platform is used by the industry's biggest players in over 120 countries. Our trading applications are distributed, fault-tolerant, highly transactional and low-latency. Our team:
FXGO is a growing team of talented engineers who are passionate about our product. We take pride in building one of the premier FX trading platforms in the world! In London, we are expanding in Shared Services and the FX Trading Grid application.
Shared Services comprises Enablements, Post Trade and the Regulatory Reporting and Clearing teams. All 3 teams are service oriented, focusing on delivering highly available, low latency and highly adaptable services to front end trading applications across FXGO and beyond. Together, they form the lower layer of the FXGO trading platform. The teams own software across the stack but with more focus on the backend.
The FX Trading Grid application allows traders to buy and sell currencies at the click of a button. The application has to process large amount of continuous real-time data and process trade execution as fast as possible. The engineers are client facing and implement workflows for the front end as equally as low latency-scalable solutions for the back end. Who are you?
An engineer who is motivated by building and adding value to financial products that are used by clients, and who appreciates the impact of your work. You are someone who always takes ownership of what you're doing, and you're excited by the opportunity to work on problems that range from engineering to business logic to usability. You love to see what you build in the hands of clients and the challenge of building a live real-time trading platform energizes you. You'll need to have:
We'd love to see:
- Strong problem solving skills
- Solid C++ programming skills
- Exposure to all phases of software development life cycle
- Appetite to understand and appreciate complex systems
- Passion to drive technology and product evolution
- Experience with high volume, high availability distributed systems.
- Experience with messaging queues
- Good working knowledge of databases
- Experience with distributed cache technologies
We believe interviewing is a two way street. It's a way for us to get to know you and your skills, and also a way for you to learn more about the team, our technical challenges, and what you'd be working on. The content of each interview round will be tailored to the role and your background, but the general framework can be found here: https://www.bloomberg.com/careers/technology/engineering/software-engineering-experienced-hire
We have a lot of opportunities to choose from in Engineering, and it is important to us that your skills and experience align best with the team you are interviewing with. To help ensure you are placed on the right team, your application will be considered for all of our current vacancies in Engineering at the first stage of the interview process.