Senior Software Engineer/SRE (C++) - Trading Systems Infrastructure

Careers at Bloomberg

Back to Search

New York, NY

Posted Mar 5, 2021 - Requisition No. 86529

Who are we?

Bloomberg Trading Solutions (TS) provides hosted Buy-side (AIM) and Sell-side (TOMS [1]) Order Management System (OMS) to some of the largest institutional broker-dealers, asset managers, asset owners, and hedge funds in the world. Each OMS instance is composed of services and databases that are developed, owned, and handled by hundreds of TS engineers across the world. Our clients value our offering of hosted OMS that allows them to reduce their total cost of ownership while benefiting from continuous upgrades in both software and hardware.

TS OMS Infrastructure SRE team defines what our core principles of client isolation, client fairness, fault isolation, high availability through fast failover and telemetry mean for the OMS. We implement these principles through technology. To achieve these principles, we are entrusted with defining what constitutes an instance of an OMS (i.e a client), over its entire lifecycle, including the constituent applications, middleware, and storage technologies.
We provide
1. An orchestration layer to run 1000s of processes across 100s of servers, for the 1000s of OMS instances, with automatic failover!
2. Service discovery APIs to get to the right OMS instance
3. Feature flag tools to control paid and optional subsystems for each client
4. Handle the full lifecycle of the OMS instances (provisioning, load balancing, moving between isolation zones, and eventual decommissioning)

Who are you?

A software engineer with experience working on distributed systems, with an aptitude for analytical and creative problem-solving. You can dive into the details of sophisticated issues quickly, and you’re excited to harness the power of automation to handle the stability, availability, and scale of our TS platform. You’re passionate about the work an SRE does [1], you don’t shy away from a challenge, and are excited by the opportunity to both learn and drive the SRE culture across our product and company. You have a growth mentality and keep up-to-date with what is happening in the industry.

We'll trust you to:

  • develop and deliver quality software that underpins our OMS product
  • cover all aspects of software development: requirement analysis, design, implementation and testing, documentation, staged deployment, and maintenance.
  • play a vital role in evolving our OMS hosting infrastructure to Linux and beyond, by driving the adoption of new technologies into the OMS at scale (Kafka is our latest addition) while still maintaining our first principles noted above.
  • have a keen eye to identify and automate manual, repeatable processes to make them reliable, provide better customer service, and to reduce toil on our team
  • be a great teammate who values open, honest communication
  • work with business partners and other software engineers to evaluate new OMS service designs and ensure our core hosting principles are adhered to.

You’ll need to have:

  • Understanding of Unix/Linux operating systems, shell scripting.
  • Deep curiosity on how individual systems work under the hood and how they compose to form a distributed system.
  • Ability to evaluate system designs for performance, reliability, and scalability.
  • 2+ years (or equivalent) experience:
  • writing modern , well-tested and robust C++ or any Object Oriented Programming language (we have training available to switch from other OOP to C++)
  • with a scripting language (preferably Python)
  • with object-oriented design, data structures, algorithms, and all phases of the SDLC
  • Some experience working with relational databases and familiarity with SQL
  • The ability to tackle sophisticated problems independently and in partnership with others in a team setting
  • No previous knowledge of finance needed

We'd love to see:

  • Knowledge of Javascript/Typescript
  • An understanding and love for SRE principles [2]
  • Deep understanding of metrics and monitoring ecosystem i.e. grafana, humio, distributed trace
  • Experience defining and measuring SLIs and SLOs
  • Experience with containers and cluster schedulers such as Apache Mesos, Nomad
  • Experience with Agile methodologies like Scrum and Kanban, using JIRA

Other Resources:

[1] Best Sell-Side Order Management System (OMS) Provider :
https://www.bloomberg.com/company/press/bloomberg-wins-two-waters-rankings-awards-for-second-year-in-a-row/
[2] Learn how Bloomberg bets big on our SREs:
https://www.techatbloomberg.com/blog/bloomberg-bets-big-on-sres/ 
External Conference presentations by our team members:
[3] https://www.usenix.org/conference/lisa19/presentation/chen 
[4] https://www.usenix.org/conference/srecon19americas/presentation/chen

We are an equal opportunity employer and 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.

    CONNECT WITH US