Senior C++ Engineer: Application Middleware Transport | New York, NY | Bloomberg Careers

Senior C++ Engineer: Application Middleware Transport

Careers at Bloomberg

Back to Search

New York, NY

Posted Nov 7, 2019 - Requisition No. 79476

The Application Middleware Transport team is part of Bloomberg's Engineering Software Infrastructure department. Our team provides a low latency transport library for real time data distribution. Our transport library supports reliable unicast and multicast data distribution and are used every day by large scale Bloomberg middleware systems around the world.

With thousands of machines running tasks using our software, it’s imperative we continue to deliver a low latency library that can handle high traffic rates. (Combined rate of data streams per machine is in Gigabits per second.) In a typical trading day, there are 40,000 sender tasks and 140,000 receiver tasks running globally. Aggregated receiving rate for all machines is peak at 5 Terabits per second.

Bloomberg middleware systems using our library include:

  • Market data distribution systems
  • Real time news story publishers and subscribers
  • Trading systems
  • Service discovery systems

Our latest mission is to extend our transport library to a transport service powered by a suite of scalable high performance routing services. New and on-going projects include:

  • Adding traffic relay service between isolated multicast data networks
  • Enhancing proxy and alternative repair service between receivers and senders
  • Improving multicast traffic monitoring and configuration management
  • Researching traffic trend, service abnormality detection, and root cause analysis on packet gaps

We are looking for motivated software engineers to help us with these projects.

You’ll need to have:

  • Demonstrated experience in C++
  • Experience with multi-threaded programming
  • A deep understanding of object-oriented design, data structures, and algorithms
  • An aptitude for analytical problem solving
  • Exposure to all phases of the software development life cycle

We’d love to see:

  • Knowledge of other programming languages such as Python, Scala, or JAVA
  • Familiarity with networking
  • Experience working with Linux/UNIX
  • Familiarity with the technique of building high volume, high availability distributed systems
  • Knowledge of network protocols such as TCP/IP, multicast and various optimization techniques

If this sounds like you, apply!

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

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.