Senior Spark Software Engineer, BQL
New York, NY
Posted May 13, 2022 - Requisition No. 90627
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.
BQL is a domain-specific language that allows users to express complex analytics and quantitative models for execution on our platform. Within the BQL organization, our team is building a low-latency, distributed interactive infrastructure based on Apache Spark. One major use case for this platform is the execution of BQL queries at scale, to support critical heavy workloads from Bloomberg clients.
Our goal is to provide self-service tooling to help with the creation, profiling, and optimization of distributed financial applications based on Spark. We are currently focused on Kubernetes orchestration of Spark and on extending the platform to provide a ready-to-use solutions for making various Bloomberg content sets available via BQL.
If you are a software engineer who is passionate about Spark, Scala and distributed systems, and who has expertise in developing backend software infrastructure, we'd like to talk to you about an opening on our team.
We'll trust you to:
- Contribute to the development of our core infrastructure, its integration with a variety of key Bloomberg data sources and services, as well as tooling to improve the platform user experience.
- Interact with application teams who use our platform (or are looking to use it) to understand their use cases. Gather requirements from clients and translate them into features of the platform. Help remove cognitive burden for our users, and allow them to focus on quickly solving business problems.
- Guide engineers across Bloomberg with leveraging Spark and distributed data processing idioms to bring scale and capacity to some of the most complex and demanding financial applications in the organization.
You'll need to have:
- A good understanding of Apache Spark programming models and constructs.
- Experience designing and implementing high-scalability systems.
- Familiarity with Functional Programming concepts, and programming experience with Scala or another language.
- 5+ years of experience programming with JVM languages such as Java.
- A good understanding of distributed systems fundamentals
- BA, BS, MS, or PhD in Computer Science, Engineering or related technology field.
We'd love to see:
- Proficiency in Scala.
- Experience with Spark connectors and Data Source APIs.
- Experience with Kubernetes and its broader ecosystem (custom operators, service meshes etc.).
- Professional experience developing software infrastructure and application frameworks.
If this sounds like you, submit an application and watch our Spark Summit / KubeCon talks to learn more about some of the ideas that underpin our infrastructure offering:
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.