Senior Java Software Engineer - BQL Analytics and Memory Model
New York, NY
Posted May 13, 2022 - Requisition No. 100108
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 Analytics and Memory Model team is responsible for the development and maintenance of the BQL Analytics library. This library contains high performance analytics kernels and the BQL Memory model, which includes a BQL data frame that is optimized for distributed analytics. The BQL Analytics and Memory Model team is a part of the BQL Analytics Engines area responsible for low latency high performance execution of BQL Queries.
The team is actively working on projects to improve the scalability, performance and maintenance of the Analytics Engine through development of the BQL Analytic Library, compressed data computations and extended BQL Data Frame capabilities for big data computations. The team leverages Java Concurrency and IPC models, open source technologies, such as Apache Arrow, RabbitMQ and JVM tuning and profiling softwares. We are looking for a strong engineer that shares our passion for collaboration, innovation and technology, helping to build solutions that are oriented to scalability and low latency performance.
We'll trust you to:
- Work on complex problems at scale with Agile methodology
- Innovate and collaborate with the team on existing and new projects
- Write, test and maintain production-quality code
- Have strong communication skills
- Take ownership of your projects and drive them to the finish line
You need to have:
- 3+ years of Java programming experience
- Strong understanding of data structures, algorithms, and distributed systems
- Knowledge of CPU and system architecture
- Experience with system architecture designing and API designing
- Experience with concurrent programming
- Experience on profiling and software optimization
We'd love to see:
- Experience with graph algorithms
- Experience with memory efficient data structures
- Experience with stream processing
- Experience with vectorization like SIMD
- Experience with functional programming
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.