Senior Software Engineer: Real-time Enterprise Data Distribution Systems

Careers at Bloomberg

New York, NY

Posted May 11, 2017 - Requisition No. 58504

Bloomberg aggregates the world’s economic data that is used by business and government leaders to make decisions that change the world. And with petabytes of real-time data coming from the world’s financial exchanges, banks, and government agencies, this data needs to be organized and distributed in ways that make it possible for those decisions to be made. Our team builds services that provide meaning to the torrent of incoming data and distribute the information to enterprise clients’ systems.

Our team builds distributed systems and services that connect to Bloomberg’s vast array of internal databases and incoming data feeds and consolidate that data into meaningful streams of information. These data streams are then used by banks, hedge funds, and even internal teams to build their software applications. Some of the systems we build act as aggregators of information, taking data from disparate sources and distributing consolidated messages to a network of subscribers, providing a uniquely meaningful view of a category of the financial world. Others provide market-moving headline news and economic indicators at low latency. These systems allow clients to act on information such as company merger announcements, unemployment measurements, or central bank rate changes before the rest of the market reacts.

Our goal is to provide access to all of the world’s financial data at the fastest speeds in the market via a simple API. Our enterprise data systems make up a piece of the fastest growing area of the company, and we work directly with clients on the cutting edge of financial technology. If you’re interested in joining a growing team making an impact on the company and the world, we welcome you to apply.

Check out some of the products we currently support at:

What we are working on now?

We are working on an array of projects, and we would love your help in doing them. We are developing a new low latency distribution infrastructure for our market-moving Bloomberg news to provide a fast and fair platform for news headline based trading. We are also building a subscription service providing real-time mortgage and credit bond information to clients. As well, we are adding enhancements to existing services that provide security reference data and lists of financial instruments.

What is coming up?

There are always new projects in the pipeline. Some client-facing projects we will tackle are to add new types of market moving news and events to our low latency platform and to build a new subscription service that provides real-time information on credit default swaps. We will also build a new monitoring system to help our SRE and implementation teams track the latency and performance of our systems and will also re-architect some of our existing services to use a common distributed high performance cache in order to improve scalability and resource use.

We'll trust you to:

  • Collaborate on one of our two Agile Scrum teams with product owners and clients to develop bespoke client facing products and services
  • Design and develop high performance, high volume C++ distributed systems that are highly stable and scalable
  • Familiarize yourself with our system architecture and codebase to make improvements to stability, performance and resource usage
  • Work on the entire system stack from writing library components to designing distributed backend services to building GUIs monitoring the system’s infrastructure

You’ll need to have:

  • 3+ years of C++ experience
  • Experience in LINUX/UNIX environment
  • Strong problem solving and software/system design skills
  • A strong understanding of computer science fundamentals such as data structures and algorithms
  • A demonstrated willingness to learn new technologies
  • A track record of successfully pushing projects to completion

We'd love to see:

  • Experience in writing multithreading and networking code
  • Experience developing low latency systems and/or distributed systems
  • Knowledge of Agile/Scrum methodology and continuous integration methods and tools
  • Knowledge of the financial markets and experience in market data
  • Experience in a variety of languages and technologies
Similar jobs