Senior Python Engineer - Enterprise Reference Data Services

Careers at Bloomberg

New York

Posted May 30, 2018 - Requisition No. 67335

We love data, do you?

Financial institutions thrive on data and the Bloomberg Enterprise Content business satisfies their needs. Enterprise Content is a fast growing business that provides clients with rich programmatic access to the best financial data and services in the industry such as Reference, Pricing, Corporate Actions, and Regulatory content sets (https://www.bloomberg.com/professional/product/reference-data/).

Our system delivers a wide range of information on nearly all types of financial instruments including equities, fixed income bond, indices, FX, futures and options. To gather this data, we access hundreds of databases across Bloomberg using distributed systems that utilize multiple processes across hundreds of machines to efficiently process it. You’ll work directly with teams across the company to build highly performant solutions to make data sets available to clients.

What we’ll be doing:

The existing means of acquiring data simply doesn’t cut it anymore. The company is shifting away from some of the classic Bloomberg API’s towards various services leveraging different delivery mechanisms such as Bloomberg services, HBase and Kafka queues. To address this need, we will build a data acquisition platform that will allow us to gather data from these various sources across the company and transform them into easily consumable Data License products. Next, we need to properly authorize our data. For this, we will build a rules based system to implement various controls. To orchestrate the various pieces of theses workflows, we require a platform that can scale to meet the ever-growing needs of our product and clients. Building on top of Celery (http://www.celeryproject.org/) and RabbitMQ (https://www.rabbitmq.com/), we build Python workers that can execute discrete units of work, and tie them together in complex workflows.

Our goal is to empower users to be able to quickly create new data products and to reduce the time it takes on the engineering side to build them. These are big goals and we’re just getting started. We’re looking for bright, knowledgeable, driven people to help us make key technical decisions on the architecture, processes, best practices, and direction of this initiative. You will be responsible for the research, development, and stability of this critical platform and its impact on one of the highest revenue businesses within Bloomberg.

Let's talk technology. As a developer on this team, you’ll have the opportunity to work with a wide variety of technologies developed primarily in Python, along with C++, Perl, Java, Javascript and SQL as needed. Additionally you’ll gain experience with RabbitMQ, Celery, Git, Jenkins, Robot Framework, Solr, Openstack, Chef, Flask – whatever technology it takes to get the job done. Our work atmosphere is fast-paced, spirited and friendly.

We’ll trust you to:

  • Design and develop highly scalable, fault tolerant solutions
  • Work effectively in a small, adaptable, agile team focused on business value and operational independence
  • Understand and enforce the right balance between innovation, experimentation, and delivering completed features to production in a timely manner
  • Understand the core business and apply the technologies to other use cases that drive the client facing business

You'll need to have:

  • 3+ years of extensive Python development experience, including writing idiomatic code, large scale project organization and unit testing
  • 3+ years of experience developing software in a Unix/Linux environment
  • Stellar problem solving & communication skills and the ability to thrive in a highly collaborative and dynamic work environment

We'd love to see:

  • Experience with compiled languages such as C, C++ or Java
  • Working knowledge of development tools such as debuggers, memory profilers, and performance measurement
  • Relational database experience (SQL and table design)
  • Experience with low-latency, high-volume, and highly-availability distributed systems

We are extremely proud of our diverse and open culture, and value diversity of thought and perspective in every form. We're looking for engineers with a real passion for writing reusable, efficient solutions to complex problems, who can adapt to an ever-changing market landscape, and who can collaborate and work effectively on small teams to develop software that impacts thousands of power users around the world. If this sounds like you, please apply below!

To find out more about Engineering at Bloomberg, check out www.bloomberg.com/careers/technology/engineering/.

Bloomberg is an equal opportunity employer and value diversity at our company. We do not discriminate on the basis of race, religion, colour, national origin, gender, sexual orientation, age, marital status, veteran status, or disability status.

Similar jobs