Experience Inc. Jobs

Job Information

Bloomberg Senior C++ Software Engineer- Bloomberg Application Services (BAS) in New York, New York

Job Requisition Number: 78598

BAS is the stable, fault-tolerant, scalable microservice framework used by over 5,500 Bloomberg software engineers as the foundation of their applications.

We follow industry-wide best practices including continuous integration/release/deployment, in-depth code reviews, static analysis, consensus-based decision making, engineering discipline, and top notch standards for source code (C++ and otherwise).

We also have a strong culture of mentorship, professional growth, and inclusive communication within the team. The BAS team is additionally a great way to get plugged into many of Bloomberg's collaborative efforts, as we're heavily involved in the C++ Guild (an internal meetup group), ISO C++ Standardization, and C++ conferences.

We're dedicated to improving BAS as a product and platform and tackle multiple challenges including:

  • Adding features to the BAS protocol and the router
  • Enhancing code generation capabilities and language support for clients and servers
  • Taming a complex configuration tapestry
  • Improving automation of deployment to multiple operating systems and environments
  • Allowing better insights on code reviews including code coverage diffs, and C++ sanitizer results
  • Integrating with systems within Bloomberg

We are looking for disciplined engineers with an eye for detail to help with some or all of the above!

You'll need to have:
  • 3+ years programming in C++
  • 3+ years programming in Python
  • An understanding of object-oriented design, data structures, and algorithms
  • An aptitude for analytical problem solving
We'd love to see:
  • Experience working with large, complex systems under continuous use
  • Experience in programming languages such as Python, JavaScript, or other scripting languages
  • Experience working with Linux/UNIX
  • Interest in engineering disciplines such as migrations, planning, post-mortem

analysis, and system design

  • Ability to critically assess and plan software changes and roll-outs
  • Exposure to multiple phases of the software development life-cycle
  • Knowledge of network protocols such as TCP/IP
  • Experience with multithreaded programming