Senior Software Engineer - Alerts

Careers at Bloomberg

Back to Search

London

Posted Apr 25, 2024 - Requisition No. 124837

The Alerts system notifies clients about important changes in global markets. An alert can be set on hundreds of different types of events, from a price movement to a news story being released and even power plant outages. We serve over 64,000 Terminal users and deliver over 15 million alert triggers per day.

Our software functions as a large-scale, distributed system composed of multiple subsystems. Our flagship function provides clients with the ability to configure alerts on the universe of securities and fields available at Bloomberg. Alerts can be simple, single-condition rules - “tell me when the price of IBM crosses $200” - but can also be combined with multiple conditions of varying periodicities, including non-pricing information such as bond rating changes and analyst recommendations.

Today, we support over 70 different types of alert conditions, but we are always looking to expand the scope of data and rules that we offer. We are therefore evolving our system in the direction of an evaluation platform, in which teams sending us data can define their own evaluation and formatting criteria with minimal involvement from us. We’re looking for enthusiastic engineers who are interested in the challenges of serving both internal and external clients, as both a platform and a suite of terminal functionality.

The team is full-stack, with UIs written in Javascript and TypeScript and backends written in C++20 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 expand and scale a complex, large-scale system for use by any team at Bloomberg
  • Interesting technical challenges in dealing with data intensive, low latency, highly distributed systems
  • The ability to learn from and mentor other people in your immediate area and around the company
  • Partnership with a close knit group of teams with supportive colleagues who like to learn and share knowledge from each other

You'll need to have:

  • Experience working with C++ and/or Python
  • An understanding of Computer Science fundamentals such as data structures and algorithms
  • Experience working closely with other engineering and product teams to understand user requirements and support the implementation of our products
  • An honest approach to problem-solving, with an ability to collaborate with peers, stakeholders and management
  • An opinionated approach, using your experience to bring new perspectives to our challenges

We' d love to see:

  • Experience working with distributed systems and telemetry
  • Experience using middleware such as RabbitMQ, Kafka, Redis or ZooKeeper
  • High standards in Automated Testing and SDLC (CI/CD)
  • Experience working in an Agile environment
  • An interest in mentoring, leading, and growing other engineers
  •  
    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 maternity/parental leave, protected veteran status, status as a victim of domestic violence, or any other classification protected by applicable law. 

Bloomberg provides reasonable adjustment/accommodation to qualified individuals with disabilities. Please tell us if you require a reasonable adjustment/accommodation to apply for a job or to perform your job. Examples of reasonable adjustment/accommodation include but are not limited to making a change to the application process work procedures, providing documents in an alternate format, using a sign language interpreter, or using specialized equipment. If you would prefer to discuss this confidentially, please email AMER_recruit@bloomberg.net (Americas), EMEA_recruit@bloomberg.net (Europe, the Middle East and Africa), or APAC_recruit@bloomberg.net (Asia-Pacific), based on the region you are submitting an application for. Alternatively, you can get support from our disability partner EmployAbility, please contact +44 7852 764 684 or info@employ-ability.org.uk 

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