Senior Software Engineer - Trade Automation and Execution
Posted Feb 25, 2021 - Requisition No. 89070
The Trade Automation and Execution teams in London work across all trading systems to build application infrastructure and analytics functionality that serve as the foundation for cross-asset trading user interfaces, real-time intraday pricing tools, execution platforms, and automated trading. Every day, more than a hundred thousand people use our high-impact systems to trade trillions of dollars and stay ahead of the competition!
Our technical challenges involve designing distributed systems that can process high volumes of real-time data, meet low latency requirements and are available 24/7. We build complete solutions with high-throughput distributed backends and databases as well as live data-intensive user-interfaces. We create software that scales well with the increasing market data rates and with the additional load brought about by automation improvements in our clients’ trading workflows.
Each of our teams independently own a part of the infrastructure that brings value for our clients:
Enterprise Market Depth
Market Depth represents a structured table (or “book”) of all open buy and sell orders on a trading venue that are competing for the best price available for a tradable financial asset. The responsibility of the Enterprise Market Depth team is to normalise, build, enrich and distribute that “book” to all interested parties in near-real-time. Our mission is to deliver high quality, high availability and low latency market depth data service to our customers for an exceptionally diverse set of markets. On days when the financial markets are very active, our systems can process over 100 billion market data events with peak periods of 8 million events per second!
Market and Order Data Analytics
The MODA teams build the application infrastructure that connects a variety of trading systems to power diverse client applications with real-time trading data. The goals of MODA are to normalise the execution data across multiple asset classes published by different trading systems, distribute the normalised data from publishers to client applications, and analyse the data via dedicated processes to provide value-added services. Our framework has been developed to support a company-wide enterprise offering for trading and analytics.
What’s in it for you?
- Be involved in the design of the architecture and the implementation of critical applications and components of our infrastructure stack
- Apply your experience and knowledge to enhance our infrastructure in order to meet future Service Level Agreements
- Work on a diverse software stack and learn an array of tools used to measure and monitor our services
- Collaborate with our stakeholders, understand the business we operate in, and take on ownership of projects
- Work on core computer science and distributed system problems, such as efficient data storage and transfer, data replication, load balancing, seamless capacity scaling, distributed storage and compute on years worth of big-data, and much more!
You will need to:
- Have demonstrated software engineering skills and experience in developing high quality production systems that are designed for testing, maintainability and observability
- Be able to solve complex problems independently and as part of a team
- Be comfortable collaborating across multiple teams to make technical decisions
- Show a willingness to take ownership of the full development lifecycle, from the requirements’ definition with our stakeholders to the delivery of the solution
We would love to see:
- Experience in developing distributed systems
- Experience with Hadoop, HBase and Spark
- An interest in learning more about the Finance domain
You have the opportunity to join some of the most creative and exciting teams in Bloomberg, making a lasting impact on our product and clients! You will be working on pioneering projects such as building a truly multi-asset Execution Management System, and defining a mechanism to execute calculations on orders coherently both on the client-side and server-side.
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:
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.