Senior Software Engineer - Alerts Platform

Careers at Bloomberg

Back to Search

London

Posted Aug 15, 2021 - Requisition No. 93235

The Alerts Platform team is part of the group responsible for delivering alerts on the Terminal. Alerts can be set on hundreds of different types of events, from the price movement of a stock to a breaking news story being published. We serve all Bloomberg’s 330 000 Terminal users, delivering them around 6.5 million alert triggers each day.

The alerts system is a large-scale, distributed system composed of multiple subsystems. The final phase of an alert being delivered, the distribution, is one of the most critical. Here, we deliver the contents of an alert to end users, whether that be via a popup, an email, or programmatically over an API. Throughput is high and minimising latency is critical.

We are in the process of forming a new team to focus exclusively on this distribution pipeline. The team will work on upgrading and scaling the distribution pipeline to support new clients and use-cases:

  • Support for “system-level notifications”, allowing asynchronous terminal functionality (e.g. file upload, report generation) to update users of their status.
  • A graphical overhaul of the Alert Catcher, the component responsible for displaying a user’s alert feed.
  • Development of blrtapi, an externally-facing REST interface used by enterprise clients to send their own alert content into the Bloomberg ecosystem.

The team is full-stack, with UIs written in Javascript and TypeScript and backends written in C++17 and Python 3. Our various subsystems run on dedicated Linux clusters, communicating with each other using RabbitMQ and RESTful APIs. External teams feed data into our system using Kafka and various pub/sub mechanisms.

What’s in it for you?

  • An opportunity to define the vision for components and functionality available to every single Terminal user.
  • Interesting technical challenges in dealing with data intensive, low latency, highly distributed systems.
  • Working in a close knit group of teams with supportive colleagues who like to learn and share knowledge from each other.

We will expect you to:

  • Work closely with other alerts teams to coordinate development of our shared system with the Scrum agile framework.
  • Be passionate about continuously improving our system and bringing in new technologies and tools to the team.
  • Be comfortable developing in Python and/or C++.

We would love to see:

  • Experience working with distributed systems and telemetry.
  • Experience using JavaScript or TypeScript for UI development..
  • Experience using middleware such as RabbitMQ, Kafka, Redis or ZooKeeper.
  • If this sounds like you:
    Apply if you think we're a good match! We'll get in touch with you to let you know what the next steps are. In the meantime, check us out at http://www.techatbloomberg.com/

Bloomberg is an equal opportunity employer and value diversity at our company. We do not discriminate on the basis of race, religion, colour, national origin, gender, sexual orientation, age, marital status, veteran status, or disability status.

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.

Similar jobs

    The Bloomberg Talent Network

    Stay connected with us and be among the first to learn about new job opportunities. We’ll use the information you provide to help us get in touch with you to align your expertise with our opportunities and better direct our conversations.

    CONNECT WITH US