Senior Java Software Engineer- BQL Expressions
New York, NY
Posted May 13, 2022 - Requisition No. 98162
Bloomberg runs on data. It's our business and our product. From the biggest banks to the most elite hedge funds, financial institutions need timely, accurate data to capture opportunities and evaluate risk in fast-moving markets. Enabling clients to access Bloomberg’s data and perform custom analytics, the Bloomberg Query Language (BQL) and Analytics platform is at the forefront of innovation for our business.
The BQL Expressions team within the platform is building out a High level Domain Specific Language, its parsing layer and a scalable validation engine leveraging Metadata and config based rules. We are responsible for defining the language grammar, parsing requests to semantic graphs, applying complex validation and routing algorithms on large graphs(tens of millions of nodes) to prepare an optimized execution plan.
These are the exciting components you’ll work on and build:
- Define and Enrich the Bloomberg Query Language, its grammar and creation of semantic graphs for a multitude of cases
- Enhance and manage dynamic loading and caching of Metadata and config in the Graph Engine
- Provide a generic Access Control framework for BQL Metadata entities via its own DSL and rule based framework embedded within the main engine
- Provide Smart Query classification routines and leverage these classifications for creating an optimal data retrieval and analytic execution plan
- Integrate with Bloomberg Infrastructure components such as Entity resolution and symbology Offerings for Asset Class identification and automagic navigation
- Build a Graph Optimization and Interchange layer for optimal transmission of memory optimized graphs to execution engines
Who you are:
We are looking for a senior Java engineer with top notch design and coding skills who shares our passion for collaboration, innovation and technology, to help us build solutions oriented to scalability and low latency performance.
You’ll need to have:
- Strong knowledge of OOP, data structures and algorithms
- 3+ years professional experience with Java, including concurrency and memory management
- Experience with Spring and Multi Threaded applications
We would love to see:
- System design and architecture experience
- Experience working cross-functionally and driving technical vision
- Knowledge of In memory and distributed caching techniques
- Focus on Test Driven Development
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.