Senior Software Engineer - BQL Analytics Services
New York, NY
Posted Aug 18, 2022 - Requisition No. 106607
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. Sitting at the core of Bloomberg’s Data and Analytics Platform, the Bloomberg Query Language (BQL) enables clients to access Bloomberg’s data and perform sophisticated custom analytics.
The BQL Analytics Engines team is responsible for developing a highly scalable low latency distributed analytics platform capable of performing semantically consistent composed analytics. Boasting features like unit-aware computation and configurable handling for missing data, our system powers workflows across Bloomberg’s business - from terminal functions and custom quant workflows, to embedded excel integrations and nightly batched reports. BQL is currently used both internally within Bloomberg and also by a variety of clients using both APIs in tools like Microsoft Excel, as well as users of the BQNT product. https://www.techatbloomberg.com/blog/bquant-behind-the-scenes-how-bloomberg-leveled-the-playing-field-for-quantitative-analysis-in-finance/
We are looking for engineers, problem solvers, and agents of change to build the next generation of a Distributed Query execution platform and efficient data delivery APIs. That's where you come in.
We'll need you to:
- Influence architectural decisions and help guide the evolution of our system to meet our clients’ future needs.
- Collaborate with other engineers to come up with innovative ways of improving our clients’ workflows.
- Use industry best practices when designing solutions, including design patterns, frameworks, libraries, and language constructs.
- Document and test your solutions, ensuring the robustness of solutions you deliver to our clients
- Dream Big, take calculated risks and come up with Innovative Solutions.
You'll need to have:
- 3+ years of experience in a modern programming language (dynamically typed, statically typed, or functional, i.e. C++, Java, Scala, Go, Python)
- Experience with Distributed computing, stateless design, microservices, and service oriented architecture
- Enterprise system engineering experience (Ability to build scalable systems for large computes on big data)
- Experience with designing and building APIs
- Strong experience with Design Patterns and Concurrent Programming
- Strong knowledge of Algorithms and Data Structures
- Experience working in fast paced Continuous Delivery projects
- Experience working in a Test Driven Development and Agile environment.
- Knowledge of any of the Data processing frameworks like Apache Spark, Apache Flink, Kafka Streams, MapReduce etc.
- Knowledge of OS (Linux), JVM, and Networking implementation details.
- BA, BS, MS, PhD in Computer Science, Electrical Engineering or related technology field
Have experience in some of these areas but not all? The Bloomberg Engineering culture is growth oriented, and has loads of opportunities for you to fill in these gaps along the way in your career. Through our very active and vast guild community covering most languages, technologies, problem spaces, you can build a strong network to leverage, and expertise to bring innovation into your team.
If this sounds like you, please apply!
Bloomberg is an equal opportunities employer, and we 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.
Salary Range: 160,000 - 240,000 USD Annually + Benefits + Bonus