At a Glance
- Tasks: Develop and manage software for real-time financial data distribution.
- Company: Join a leading financial tech company with a global impact.
- Benefits: Competitive salary, health benefits, remote work options, and career development opportunities.
- Why this job: Be part of a dynamic team tackling real-world challenges in data scalability.
- Qualifications: Experience in object-oriented programming, preferably Python or C++.
- Other info: Collaborative environment with strong focus on innovation and reliability.
The predicted salary is between 48000 - 72000 ÂŁ per year.
Our department is responsible for efficiently distributing financial data from its source to interested users all around the world. This includes stock prices or foreign exchange rates. Data can either be served in response to a request or streamed in real time.
The group owns:
- the distribution software and infrastructure
- a range of different sources of data
- the supporting services to be able to administer and manage the system, including permissioning and metering
The team is also responsible for the Enterprise endpoint (“B-PIPE”) which allows end-users to programmatically consume data via our SDK. Data is also available through the Bloomberg Terminal or Microsoft Excel.
The main challenge faced by the group is one of scale - data is sourced from more than 370 global exchanges with a combined volume in excess of 60 billion messages each day. We deliver this data to hundreds of thousands of terminals and thousands of B-PIPEs. Handling this volume takes a lot of hardware! We manage multiple clusters in our main data centres as well as a network of many thousands of servers all around the world.
Team Overview
The SRE group comprises three sub-teams: one in Tokyo, one in London and one in New York. This allows us to provide on-call coverage following the sun. This role is in the London team. The mission of the group as a whole is to ensure our systems are reliable, scalable and observable by using software engineering practices. The group’s responsibilities fall under five main pillars:
- Latency Monitoring and Management
- Defining, measuring and viewing service level indicators (SLIs) for latency.
- Defining service level objectives (SLOs) for latency and alerting on breaches.
- Building tools to accurately and quickly identify the sources of latency.
- Capacity Management
- Ensuring all subsystems can scale horizontally.
- Maintaining sufficient capacity to withstand a disaster and demonstrating compliance.
- Building tools to understand the current utilisation and capacity of the system and predict the impact of load increases and new use cases.
- System Monitoring and Observability
- Building tools to detect problems proactively, before they are reported by customers.
- Providing information on the overall health of the system from a single, well-known entry point.
- Putting alarms in place, with actionable run-books, for all critical issues.
- Ensuring business-as-usual changes are safely released to production.
- Planning and/or executing the release of more complex changes.
- Reviewing and re-architecting the infrastructure to improve resiliency and performance.
- Managing live incidents to diagnose and remediate issues, mitigating customer impact as quickly as possible.
- Building tools to diagnose issues and run manual operational responses safely and correctly.
- Provide automated responses to standard problems.
The London team is currently responsible for two critical parts of the distribution system. First of all, we own the system which serves configuration to the thousands of servers in the distribution network and the B-PIPEs. These servers “call home” when they start up and the system has the responsibility for delivering the proper settings to them. The wide reach of this system means that correctness is extremely important.
We also own the mechanism which allows servers to be grouped together in discoverable clusters of peers. This comprises a back-end service to query for peers and also the UI to manage the groupings. Changes to these systems often include developing business functionality, as well as technical enhancements.
We have also built a framework to flexibly and regularly monitor our estate of servers to ensure that they are operating properly at all times. Finally, we also own the main tool used to diagnose data quality issues in the distribution network. In addition, the team also makes changes to other core subsystems (outside of our formal ownership) in order to improve the reliability of the wider system. All of this gives us a very strong focus on software development in addition to our operational responsibilities.
You’ll need to have:
- Experience with an object-oriented programming language (preferably Python or C++).
- A focus on delivering good quality, well-tested software and safely releasing it to a mission-critical production environment.
- A proven track record triaging and resolving live production problems.
- A strength in cooperating in a collaborative and inclusive team environment.
- The capability to work across departments, building good relationships with both technical and non-technical partners.
Senior Software Engineer / SRE - Real-time Data employer: Bloomberg
Contact Detail:
Bloomberg Recruiting Team
StudySmarter Expert Advice 🤫
We think this is how you could land Senior Software Engineer / SRE - Real-time Data
✨Tip Number 1
Network like a pro! Attend industry meetups, tech conferences, or even local coding events. It's all about making connections and getting your name out there. You never know who might be looking for a Senior Software Engineer!
✨Tip Number 2
Show off your skills! Create a portfolio showcasing your projects, especially those related to real-time data or system reliability. This gives potential employers a taste of what you can do and sets you apart from the crowd.
✨Tip Number 3
Prepare for interviews by brushing up on your problem-solving skills. Practice coding challenges and system design questions that relate to scalability and latency management. We want to see how you think on your feet!
✨Tip Number 4
Apply through our website! It’s the best way to ensure your application gets seen by the right people. Plus, it shows you're genuinely interested in joining our team at StudySmarter. Let's make it happen!
We think you need these skills to ace Senior Software Engineer / SRE - Real-time Data
Some tips for your application 🫡
Tailor Your CV: Make sure your CV reflects the skills and experiences that align with the Senior Software Engineer/SRE role. Highlight your experience with object-oriented programming, especially in Python or C++, and any relevant projects that showcase your ability to handle real-time data.
Craft a Compelling Cover Letter: Your cover letter is your chance to shine! Use it to explain why you're passionate about working with financial data and how your background makes you a great fit for our team. Don’t forget to mention your collaborative spirit and problem-solving skills!
Showcase Your Problem-Solving Skills: In your application, include examples of how you've triaged and resolved live production issues in the past. We love candidates who can demonstrate their ability to think on their feet and tackle challenges head-on.
Apply Through Our Website: We encourage you to apply directly through our website. It’s the best way for us to receive your application and ensures you’re considered for the role. Plus, it shows you’re keen on joining our awesome team!
How to prepare for a job interview at Bloomberg
✨Know Your Tech Stack
Make sure you’re well-versed in the object-oriented programming languages mentioned, especially Python or C++. Brush up on your coding skills and be ready to discuss your past projects that showcase your expertise in these areas.
✨Understand the Scale
Familiarise yourself with the scale of data distribution mentioned in the job description. Be prepared to discuss how you would handle high-volume data scenarios and what strategies you would implement for latency monitoring and capacity management.
✨Showcase Problem-Solving Skills
Be ready to share specific examples of how you've triaged and resolved live production problems in the past. Highlight your approach to diagnosing issues and the tools you’ve used to ensure system reliability.
✨Emphasise Team Collaboration
This role requires working across departments, so demonstrate your ability to collaborate effectively. Share experiences where you’ve built strong relationships with both technical and non-technical partners, showcasing your inclusive team spirit.