Senior C++ Engineer - News Search Applications

Careers at Bloomberg

Back to Search

London

Posted Oct 6, 2021 - Requisition No. 96170

Our team:

The News Search Applications team is looking for an experienced software engineer who gets excited about working in a full stack environment with an emphasis on C++ and exploring solutions with a strong Product team. You will advance how our clients discover market moving information from the haystack of news stories and drive innovation in user experience. In doing so, you will be working with News Infrastructure who own highly scalable, low-latency systems that ingest and store the stories, and the Artificial Intelligence group who drive the unique machine learning models that extract meaning from text. Your collaboration across teams will further Bloomberg’s success in this sector in which we are frequently the first to break major news.

Some of the most important functionality on the Bloomberg Terminal is the delivery of financial news. In addition to being the second largest news producer in the world, Bloomberg ingests more than 1.5 million news stories per day from more than 120,000 different sources. It is easy for clients to become overwhelmed and lost in the deluge of data. Our products help users to optimally search, discover, monitor and make sense of the news in the broader context of the financial market.

To do so, our team uses technologies and services from across the company to build systems and UIs serving millions of client requests daily. The critical nature of news applications necessitates the design of concurrent, distributed systems that are highly scalable, low latency, and resilient. It requires close collaboration with business partners to build intuitive, informational, and flexible UIs that can adapt to the rapidly evolving news ecosystem and market demands. A successful engineer on the team is willing to take on full ownership of essential, highly visible products. They are excited by the challenge of fullstack development and working across domains to deliver high quality projects based on their estimates.

What’s in it for you:

The team owns several client-facing functions on the Bloomberg Terminal that are implemented using a combination of C++ and Python for backend processes as well as JavaScript / TypeScript to visualise information and handle the user interaction. Our focus is on searching the news, compiling daily news digests and covering up-to-date news events in the shape of live blogs. That includes processing social media feeds where we collaborate directly with vendors. We work closely with the News Infrastructure teams that are co-located in London while most of the group is located in the US.

One of the big projects in 2022 is integrating with the new Twitter API. Our team plays a key role in coordinating this effort across multiple teams and representing Bloomberg towards stakeholders on the Twitter side. We take this as an opportunity to re-architect key parts of the processing pipeline using modern technologies in order to support growing data volumes and address latency spikes in client delivery. Success primarily depends on a smooth transition from the existing data stream that is not only critical to our clients but also for Bloomberg’s Newsroom.

A project that has recently kicked off is building a new product from scratch to deliver a morning report that provides subscribers with all relevant information to start their day. This requires aggregating data from various sources, some of them external to News, and leveraging existing systems to produce an easy-to-read email.

Further planned efforts revolve around the usability of the news search screens that require close collaboration with News infrastructure and AI teams and potentially a redesign of the UI. At the same time, we aim to undertake infrastructure improvements to increase maintainability and robustness of key services, underscoring our focus on quality.

We'll trust you to:

  • Evaluate, design, and support complex, critical systems end-to-end.
  • Explore new technologies and methodologies, finding the best tools for the job rather than what you know.
  • Collaborate with Product, UX, and other Engineering teams to deliver effectively.

You'll need to have:

  • Interest in fullstack development
  • Hands-on experience creating and maintaining C++ applications
  • Proficiency in developing multi-threaded applications
  • Experience in message queueing technologies like RabbitMQ and Kafka
  • Strong collaboration and communication skills

We'd love to see:

  • Experience with large scale systems
  • Experience with containerisation (Docker)
  • Experience with continuous integration tools and workflows

Interview process:

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/software-engineering-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.
 
And do check out our blog, TechAtBloomberg.com/ to learn more.
 
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