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

Careers at Bloomberg

New York

Posted Mar 1, 2017 - Requisition No. 57256

Our group, the Bloomberg Analytics and Content Cloud (BACC) team, 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 ecosystem 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 ecosystem. The platform leverages Hadoop-based distributed analytics and computing technologies such as Spark, Hive, HBase, vector parallel processing and more.

We are looking for Python software engineers who possess strong design and development skills to build out the core Analytics and Screening Engine. That's where you come in.

We'll trust you to:

  • Design and develop core components consistent with standard and project specific design principles in Python
  • Participate in our daily scrums
  • Influence architectural decisions and build a performant execution engine

You'll need to have:

  • 3+ years of experience with Python, including an understanding of code organization and testing
  • Experience developing software in a UNIX environment
  • A strong understanding of algorithms, data structures, object-oriented design and multithreading programming concepts and distributed computing
  • Experience working in a Test-driven development and Agile environment
  • Working knowledge of modern development methodologies and tools such as Jenkins, Maven, JIRA or Git
  • Excellent problem solving and communication skills
Similar jobs