Senior Java Engineer: Bloomberg Query Language (BQL) and Analytic Platform Team

Careers at Bloomberg

New York

Posted Feb 28, 2017 - Requisition No. 57240

The Bloomberg Analytics and Content Cloud team (BACC), brings together core services and technology frameworks that are shared across Bloomberg application teams. We create standardized solutions to complex yet common problems across the Engineering department. We deal with challenges of storage, low-latency retrievals, high volume requests, scalability and high availability over a distributed environment for enterprise wide use.

Within this area, the Bloomberg Query Language (BQL) and Analytic Platform teams are developing a cloud-based low-latency Analytics and Screening Platform for massive amounts of financial datasets. In addition, we're developing a Financial Query Language, a standardized query interface that allows users to express complex data retrieval, analytics and screening for processing on the BACC Platform. We're architecting and designing the entire eco-system for the Analytics Platform and Screener Engine. We're developing core components that form the building blocks of the Query engine and a metadata framework that drives it. We're also building a python test framework for the automated testing and quality assurance of the entire eco-system. The platform leverages Hadoop based distributed analytics and computing technologies such as Spark, Hive, Hbase, vector parallel processing and more.

We are looking for strong Java software engineers who possess strong design and development skills to build out the core Analytics and Screening Engine.

We'll trust you to:

  • Design and develop core components consistent with standard and project specific design principles, leveraging Spring, multi-threading and concurrency, JMX, etc.
  • Participate in our daily scrums
  • Influence architectural decisions and build a performant execution engine

You'll need to have:

  • Extensive experience in object-oriented software development in a Unix/Linux environment
  • A strong understanding of algorithms, data structures, object oriented design and multi-threaded programming concepts, distributed computing
  • Strong background in: Spring, Design Patterns, Concurrent Programming, JMX, GC Tuning, ANTLR, Persistence Frameworks, AVRO/JSON and RESTful Services
  • Experience using Java (advanced level) with distributed computing
  • Experience working in a Test Driven Development and Agile environment
  • Working knowledge of modern development methodologies and tools (Jenkins/Maven/JIRA/Git)
  • Excellent problem solving and communication skills
Similar jobs