Senior Software Engineer - Data Services
New York, NY
Posted May 1, 2023 - Requisition No. 111386
The Data Services group is responsible for core data and analytics services which provides a single point of entry for Bloomberg Terminal and Enterprise applications to retrieve any kind of data available in Bloomberg. This includes multiple foundational services such as Data Gateway, Security ID Master, Metadata Infrastructure, Insights and Anomaly Detection System. These systems serve several hundred billion requests a day running on thousands of machines. With ever increasing data volumes and growth of Bloomberg’s Enterprise products, this footprint has been growing at a rapid pace (increasing 25% YoY).
Read on to learn more about our teams and what we're looking for. You can express interest in particular teams during the interview process and we'll do our best to match you with your preference! If you are not sure, we will work with you to try to find a role that matches your interests and skills.
Data Gateway provides a single point of entry for Bloomberg Terminal and Enterprise applications to retrieve any kind of data available in Bloomberg. It is the backbone of the Bloomberg application stack, is very widely used and serves 400+ billion requests a day. With ever increasing data volumes and the growth of Bloomberg’s Enterprise products, this footprint has been growing at a rapid pace.
To accommodate our future needs we are working on re-architecting large parts of our system. We envision the system to follow an API Gateway pattern with hundreds of data provider microservices integrating into it and providing data for their bounded context. Data Gateway absorbs the complexity of multiple microservices with their myriad details and orchestrates requests to them as needed, thereby providing a clean interface to the outside world and decoupling the services from their clients. To ease the access and manageability of this infrastructure, we are working towards ‘Data Gateway as a managed service’ that would run on a large farm of shared machines guaranteeing SLAs, providing key functionalities such as routing requests to appropriate services, traffic isolation, authorization and authentication, caching, fairness, load balancing, request shaping, transparency and tools to clients to manage their tenancy. It will ensure that the system is scalable to handle billions of requests from thousands of applications. The biggest challenge we face is to design the system to be resilient to unexpected client load, system failures and latency spikes in downstream services and to auto-isolate such failure while still being able to serve the client requests.
You’ll work with C++
Anomaly Detection and Insights
The system catering 400+ Billion data points poses unique large scale distributed system performance, data quality and Insights problems and requires an early Anomaly Detection system and Insights platform.
In order to provide highly available, consistent and correct data in a timely fashion, we need infrastructure to detect the performance and data anomalies. The infrastructure needs to be running at petabyte scale. Anomaly Detection team has successfully built a performance anomaly detection system using spark on Hadoop. Over years we have pruned it to reduce false positives to an extent that we run at more than 90% efficiency. Data Anomaly detection poses bigger challenges because the data sources and types are numerous. With petabytes of data and thousands of microservices providing this data, the problem becomes ever more difficult to solve. We need to build smart, low latency, scalable solutions with good visualization tools to slice and dice the issues into actionable categories.
To provide Business Intelligence & Analytics for Calcrt usage and empower Product & Engineering teams across the firm to make data-driven decisions we have the Insights platform. We are building out infrastructure that supports a self-service model to onboard application teams to access mission-critical data, and provides a scalable way to help teams gain data-driven insights into how their applications function based on terabytes of data. The jobs will use Apache Spark to scrape and parse data, which will then be stored in an Apache Hive cluster where the data will be accessible to any client who requests it.
You’ll work with: Python, Hadoop, HDFS, HBase, Spark, Tensorflow
Entity Class and Relationships
Entity Class & Relationships is part of an infrastructure team that provides foundational Entity Metadata Management services such as Entity ID translation, Classification and Relationships for various Applications, Query Engines (eg. BQL, CalcrtX) and Enterprise Product teams. At Bloomberg, data is our core business, and as a market leader for Financial Data, we constantly explore ways to provide valuable insights across a huge number of datasets to our customers. To that, our team is a key player in a high profile CTO driven Metadata initiative to leverage common standard models for Data Discovery and Interoperability.
The team owns a generic infrastructure that classifies millions of entities using large scale distributed processing and stores universes of entities under various classification schemes. The Java based classification microservices serve more than 290 million requests daily with sub millisecond latencies. Technologies being used include Spark, HBase, Postgres, RabbitMQ and Redis. The team has received a strong mandate from the senior management to redesign our Entity Classification infrastructure from ground up to support new use cases and larger universes.
In addition our Metadata team is also setting up a graph database leveraging RocksDB and RDF4J for various use cases in Bloomberg.
You’ll work with: Java, C++, or C#, Spark, HBase, Postgres, RabbitMQ, Redis
We are building a brand new metadata management system based on a modern web stack to support complex data visualizations using various Bloomberg and Open Source libraries. We incorporate the concept of Semantic Web and our backend leverages a native graph store so that our system can materialize the power of Semantic modeling.
We are developing the platform from scratch and our goal is to develop a user-friendly UI that can support complex data visualizations and simplify workflows. We will develop new workflows and UI to support advanced modeling use cases. We are looking to onboard our first client into our platform later this year.
You’ll work with: React, Typescript, NodeJS, Python, Kafka, Redis, Docker, RDF4J, Sparql, SHACL
What’s in it for you:
- Re-architect the next generation of our infrastructure
- Design, implement and own critical applications and components of our infrastructure stack
- Work on high visibility projects which have outsize impact with many opportunities to interact with Senior Management.
- Incorporate open source and industry standard solutions to solve the problem at hand
- Interact with various teams across Bloomberg to evangelize your work and help people in adopting your system
You’ll need to have:
- 4+ years working experience
- Knowledge of object-oriented design, data structures, algorithms, and all phases of software development. This experience can be in any object-oriented language, but open to working with Java, C++, Python, or React
- Experience developing large scale Microservices systems
- Experience with high volume, high availability distributed systems
- A Degree in Computer Science, Engineering, Mathematics, similar field of study or equivalent work experience
Bloomberg is an equal opportunity employer, and we value diversity at our company. We do not discriminate on the basis of age, ancestry, color, gender identity or expression, genetic predisposition or carrier status, marital status, national or ethnic origin, race, religion or belief, sex, sexual orientation, sexual and other reproductive health decisions, parental or caring status, physical or mental disability, pregnancy or maternity/parental leave, protected veteran status, status as a victim of domestic violence, or any other classification protected by applicable law.
Bloomberg is a disability inclusive employer. Please let us know if you require any reasonable adjustments to be made for the recruitment process. If you would prefer to discuss this confidentially, please email firstname.lastname@example.org.
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.
Salary Range: 160,000 - 240,000 USD Annually + Benefits + Bonus