Senior Software Engineer - 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! Our customers
Our clients are some of the most well known investment banks and hedge funds. From the opening bell, every second of every minute they rely on our data to monitor and interact with the financial markets. This positions the information we provide at the heart of their workflows, sophisticated analytics and algorithms. The importance of our product gives us the privilege to work with a Service Reliability Engineering team that challenges the way we develop, monitor and maintain our software with an enhanced focus on our customers' needs: availability, data quality and low latency. What's in it for you?
The ever rising throughput requirements, high availability, low latency and business agility needs of our services keep us challenged when making design decisions and implementing them. We are conscious of the impact our code and architectural changes can have on our users, and we use an array of tools to measure and monitor our services. We are a small team with a key role in Bloomberg and your contributions can have a big impact on the product and our customers. Our team
Collaboration is deeply ingrained in our culture and we work together every day, broadly following agile/scrum with a strong focus on achieving business and engineering goals. Our retrospectives are the most important time in our sprints, where we look back and discuss what we can improve on to be better as a group. Inclusion and diversity are fundamental values of our team, and everyone gets involved when making technical decisions to achieve the best results possible. We are keen on progressing our engineers' careers and frequently hold career development conversations to align their interest with our product's needs. We will support you at every step of the way to develop and fully utilise your skill set! We will trust you to:
You'll need to:
- Engage with us on the whole software development lifecycle of projects and initiatives
- Collaborate to deliver on our team and company goals
- Work with us to become better software engineers and more effective as a team
- Design, implement and test high quality, distributed C++ and Python services
We would love to see:
- Have excellent software engineering skills and experience in developing high quality production systems that are designed for testing, maintainability and observability using any of Java/C#/C++/Python/Go/Rust programming languages
- Be great at working in a team and partnering with our stakeholders
- Keep up to date with recent and emerging trends in technology, and bring those learnings to the team
- Be keen on working with and improving an extensive C++ codebase
- Knowledge of Site/Service Reliability Engineering
- Skills in technically leading software engineering projects
- Experience with high performance and high availability distributed systems
- Understanding of market data systems
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/softwareengineering-experienced-hire/
We want to ensure you can put your best foot forward throughout the process, so if you have any questions or need any accommodations to be successful, please let us know!
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.