Skip to content
Senior Software Engineer - BDE Solutions
Location
New York
Business Area
Engineering and CTO
Ref #
10050264

Description & Requirements

The BDE team provides Bloomberg's lowest-level C++ infrastructure, including a partial standard library implementation, common data structures, multithreading primitives, a message encoding framework, and much more.  The BDE open-source libraries (available at http://github.com/bloomberg/bde) form the foundation of C++ development at Bloomberg.  The BDE team is also responsible for spearheading Bloomberg's contributions to the C++ standard.


The libraries provided by the BDE team define the most fundamental C++ primitives used throughout our engineering organization. We apply rigorous design and testing principles and techniques to ensure that the infrastructure we provide lives up to its reputation as a dependable bedrock for other engineers to build upon. In addition, we simultaneously keep up-to-date with modern C++ standards, and strive to provide the best possible client-developer experience. 


This team has attracted standards committee members and former working group chairs, and several members of the team actively contribute to the standard. We are proud to be able to state that we are the primary drivers behind C++26 contracts. 


The Role

You will be part of a small and dedicated team of expert C++ engineers who design, build, test, and maintain these critical libraries. You will have the opportunity to work with other engineers in the team to define requirements, analyze, design, and implement foundational C++ primitives as our clients' needs and the C++ language evolve. You may also have the opportunity to work with the C++ standards committee directly, and have an impact on the design of the language and its standard library. 


We'll trust you to:

  • Implement C++ standard library facilities with first-class polymorphic allocator support
  • Maintain and develop new concurrency and synchronization primitives
  • Analyze and debug thread-safe data structures like queues and caches
  • Enhance the performance and capabilities of Bloomberg's IPC message encoders 
  • Communicate and share our values toward software development and professional collaboration

You'll need to have:

  • 4+ years of experience in C++
  • Good library design and problem-solving skills
  • Excellent communication and organizational skills
  • A desire to learn cutting-edge C++ features and how to effectively use them

We'd love to see:

  • Experience in designing, analyzing, and debugging multithreaded C++ code
  • Experience in Python for tooling
  • Knowledge of the Unix/Linux, Windows, and MacOS system-level API's

Some of our current and upcoming projects:

  • Creating an asynchronous execution library providing abstractions on top of C++20 coroutines
  • Implementing C++23 facilities in the bsl library for feature parity with the standard
  • Providing easy-to-use HTTP/2 client and server components
  • Providing standard-conforming formatters for Bloomberg date and time types


Salary Range = 160000 - 240000 USD Annually + Benefits + Bonus

The referenced salary range is based on the Company's good faith belief at the time of posting. Actual compensation may vary based on factors such as geographic location, work experience, market conditions, education/training and skill level.


We offer one of the most comprehensive and generous benefits plans available and offer a range of total rewards that may include merit increases, incentive compensation (exempt roles only), paid holidays, paid time off, medical, dental, vision, short and long term disability benefits, 401(k) +match, life insurance, and various wellness programs, among others. The Company does not provide benefits directly to contingent workers/contractors and interns.

Discover what makes Bloomberg unique - watch our podcast series for an inside look at our culture, values, and the people behind our success.
Apply Now