Senior Java Engineer - Bloomberg High Availability Timeseries Store (BHATS)
New York, NY
Posted Apr 10, 2022 - Requisition No. 102408
Who we are:
The way our clients consume data has changed. Bloomberg's application teams face complex challenges of large-scale data storage, low-latency retrievals, high-volume requests, and availability over a distributed environment. We create standardized solutions to these problems by building core services and technology frameworks for enterprise-wide use.
The Bloomberg High Availability Timeseries Store (BHATS) ecosystem is a consumer timeseries/time-related data store supporting storage of multi-temporal data sets and retrievals against multiple-temporal dimensions. This platform serves the needs for date-specific data sets with point-in-time, as-reported use cases and timeframes (anywhere from by-the-minute to hourly to quarterly). Our mission is to enable content owners and application teams to acquire, transform, store, and serve business and financial data, expediting go to market for our clients.
We provide BHATS offering in two forms:
- BHATS as a standalone data store where application teams own, manage, and monitor the on-boarding and retrieval of their data through well-defined public interfaces
- Managed BHATS platform where application teams can onboard their datasets through a standardized dataset configuration dataflow mechanism (BHDS) and execute retrievals through well-defined interfaces via Native APIs and/or unified timeseries analytic interop as well as general purpose data field services
As an experienced Java developer, we’ll trust you to:
- Help us refresh and evolve many facets of our data and analytics infrastructure using existing Bloomberg technologies such as the BAS Java/BAS Reactor framework, as well as a new Kafka-based infrastructure to support the microservices which comprise business logic processing.
- Influence core BHATS ingestion, retrieval, and bulk operations workflows as well as architectural decisions.
- Design and develop systems that meet our latency, volume, storage, and scale expectations.
- Integrate with other data sources like the Bloomberg Data Services (BBDS) platform, relational data stores (including MySQL and Postgres) and client or third-party application data feeds for ingestion purposes. Integrate with Blomberg specific retrieval mechanisms as well as an analytics and metadata-driven Bloomberg Query Language (BQL) engine.
What’s in it for you:
Many of Bloomberg's timeseries data workflows will eventually be clients/users of the BHATS ecosystem. This means:
- You’ll gain exposure to our financial data sets, non-financial data sets as well as client-specific ones and how they're used across our client workflows while ensuring we build high performance, low-latency, and scalable software for these core infrastructure initiatives.
- Much of these applications are being built on top of open source technologies, so there are plenty of avenues to innovate and contribute to the open source community!
You’ll need to have:
- 5+ years of experience programming in Java including Java 8
- Experience enhancing and maintaining high throughout, low-latency systems in a mission-critical, test-driven production environment.
- BA, BS, MS, PhD in Computer Science, Engineering or related technology field
- Experience in software instrumentation for monitoring and observability
We’d love to see:
- 3+ years with distributed message and/or stream-based processing
- 3+ years of experience with NoSQL data stores (preferably HBase or Cassandra)
- Experience with Spark, Kafka, Redis, Zookeeper or Flink
- Experience with working with structured (Parquet, Avro, Orc, Protocol Buffers) data
- C++ or Python development experience is a plus
Do you want to build systems that impact the whole company? Apply below!
To better understand you and your interests, we’ll probably have you go through a few rounds of discussions with our team members. These might involve showing us your work through current pull requests, reviewing one of our recent commits and providing technical feedback, or having a technical discussion with us. Feel free to reach out to our recruiter, Ana Doyle, to get more information on the process.
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