At a Glance
- Tasks: Develop and manage real-time data distribution systems for global financial markets.
- Company: Join Bloomberg, a leader in financial technology with a diverse and inclusive culture.
- Benefits: Enjoy competitive pay, health perks, remote work options, and growth opportunities.
- Why this job: Make an impact on high-scale systems while working with cutting-edge technology.
- Qualifications: Experience in object-oriented programming, preferably Python or C++, and strong problem-solving skills.
- Other info: Collaborative team environment with excellent career advancement potential.
The predicted salary is between 48000 - 72000 ÂŁ per year.
Location: London
Business Area: Engineering and CTO
Ref #: 10049067
Our department is 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.
- Production Risk Management
- 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.
- Incident Response
- 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.
Discover what makes Bloomberg unique - watch our for an inside look at our culture, values, and the people behind our success. Bloomberg is an equal opportunity employer and we value diversity at our company. We do not discriminate on the basis of age, ancestry, color, gender identity or expression, genetic predisposition or carrier status, marital status, national or ethnic origin, race, religion or belief, sex, sexual orientation, sexual and other reproductive health decisions, parental or caring status, physical or mental disability, pregnancy or parental leave, protected veteran status, status as a victim of domestic violence, or any other classification protected by applicable law. Bloomberg is a disability inclusive employer. Please let us know if you require any reasonable adjustments to be made for the recruitment process. If you would prefer to discuss this confidentially, please email amer_recruit@bloomberg.net
Senior Software Engineer / SRE - Real-time Data London, GBR Posted today employer: Bloomberg L.P.
Contact Detail:
Bloomberg L.P. Recruiting Team
StudySmarter Expert Advice 🤫
We think this is how you could land Senior Software Engineer / SRE - Real-time Data London, GBR Posted today
✨Tip Number 1
Network like a pro! Get out there and connect with people in the industry. Attend meetups, tech talks, or even online webinars. You never know who might have the inside scoop on job openings or can refer you directly to hiring managers.
✨Tip Number 2
Show off your skills! Create a portfolio or GitHub repository showcasing your projects. This is your chance to demonstrate your coding prowess and problem-solving abilities. Make sure it’s easy to navigate and highlights your best work.
✨Tip Number 3
Prepare for interviews like it’s game day! Research the company, understand their products, and be ready to discuss how your experience aligns with their needs. Practice common technical questions and be prepared to solve problems on the spot.
✨Tip Number 4
Don’t forget to apply through our website! It’s the best way to ensure your application gets seen by the right people. Plus, we love seeing candidates who take the initiative to engage directly with us.
We think you need these skills to ace Senior Software Engineer / SRE - Real-time Data London, GBR Posted today
Some tips for your application 🫡
Tailor Your CV: Make sure your CV is tailored to 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 skills in handling 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 perfect fit for our team. Don’t forget to mention your collaborative spirit!
Showcase Problem-Solving Skills: In your application, be sure to include examples of how you've triaged and resolved live production problems. 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 to ensure your application gets into the right hands. Plus, it shows us you’re serious about joining our team!
How to prepare for a job interview at Bloomberg L.P.
✨Know Your Tech Stack
Make sure you’re familiar with the programming languages and technologies mentioned in the job description, especially Python or C++. Brush up on your object-oriented programming skills and be ready to discuss how you've used these in past projects.
✨Understand Real-time Data Challenges
Since the role involves handling large volumes of real-time data, it’s crucial to understand the challenges that come with it. Be prepared to talk about latency management, system monitoring, and how you’ve tackled similar issues in previous roles.
✨Showcase Your Problem-Solving Skills
Be ready to share specific examples of how you triaged and resolved live production problems. Highlight your experience in incident response and any tools you’ve built or used to diagnose issues quickly.
✨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 approach to teamwork.