Senior Software Engineer - Data Services Symbology
Posted Dec 21, 2020 - Requisition No. 87878
At Bloomberg, data is our core business, and we need to deliver it with speed. Data Services is an infrastructure group that provides a common framework for all of this data and analytics. We are responsible for a set of core services and APIs that developers across Bloomberg Engineering use to access multi-asset financial data to develop various Bloomberg Applications. We serve current and historical time series for reference data, market data and standard analytics for all financial instruments. We deal with challenges of large scale distributed systems related to large volume requests, low latencies, high availability and overall system reliability.
Our infrastructure forms the backbone of the Bloomberg application stack and Enterprise business. We design our systems to be resilient to failures or latency spikes in downstream services and provide deterministic SLAs to our clients. Within this infrastructure group, the Symbology team is responsible for infrastructure encompassing Identifier Translation services, Entity Classification, and an Entity Relationship master.
Our ID Master services provide identifier translation supporting over 50 Identifier types for a multi-asset instrument universe. ID Master currently processes 1.5 billion requests daily (peaks of over 2 billion) with 99% of requests fulfilled under 2 milliseconds. By improving our algorithms, caching and scaling up, we aim to cut response times in half. It is imperative that we accomplish this growth while keeping strict SLAs for our clients (which is all of Bloomberg Engineering!). As we continue to develop this platform, we are also looking to grow from storing 75 million records to over 1 billion records. To achieve these, we are building out the London team – this is where you come in!
We'll trust you to:
- Design, implement and own critical applications and components of our services stack
- Enhance our infrastructure to fulfil mission critical SLAs such as low latency or high throughput data retrieval
- Work in a highly collaborative environment where teamwork is key to success
- Partner with multiple engineering teams across Bloomberg to build core data systems used by many application groups.
You'll need to have:
- Strong Java skills or other equivalent strongly typed OO language such as C# or C++
- Deep understanding of object oriented design, data structures and algorithms
- Good problem solving and excellent communication skills
- Experience leading projects from ideation to delivery and mentoring engineers
We’d love to see:
- Familiarity with Test Driven Development, and CI/CD tools like Jenkins
- Some experience with Java functional programming
- Some experience with database design, SQL and caching systems
- Some experience developing high volume, high availability, low latency distributed systems