At BMLL we process historical market data in a process we call parsing. This process is equivalent to the feed handlers used in real-time market data processing. We curate the data to ensure the highest quality of delivery to our customers. Every day we consume 250GB of new data across 750,000 securities to deliver into our platform, our dashboard products and data services. These are accessed by our customers who are dependent on our services for their own workflows.
The role we are hiring for is to take care of a number of exchange protocol changes that affect the parsers/feed handlers that we run in production, to support the team with bug fixes to existing data parsers, and contribute to the development of new BMLL Data Products. There may be some work in Python, but it is primarily a C++ role.
Responsibilities:
Handling exchange protocol upgrades, primarily in C++
Fixing bugs in existing C++ parsers as they arise
Contributing to development of new BMLL Data Products
Development of Google Test unit tests for new C++ code, in existing framework
Comparison of data where changes are needed, using existing tools. This is a critical part of the role, our data quality is our strongest aspect at BMLL.
Requirements
Experience of working with market data protocols such as ITCH, EOBI, iMpact, Optiq, GTP (Group Ticker Plant).
Flexibility and a willingness to learn - this is not a role where you will work on one thing for a long period, you will work on multiple projects.
Industry experience of writing production-level C++ and delivering functioning, well-tested systems.
Industry experience of developing in Python
Industry experience of developing on a Linux platform with git
Experience of industry-standard development methodologies such as source code control, unit testing and continuous integration