About BMLL:
We are a historical data and analytics company, solving some of the most complex and challenging problems in big data and financial markets. We have built an award-winning data analytics platform for processing vast quantities of granular limit order book data and are in the process of productising this platform.
We have a fantastic team and our culture is inclusive and highly collaborative, a place where our employees are encouraged to be themselves.
We offer a combination of remote and office (London-based) working, weekly team lunches and plenty of office snacks!
About the Role:
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 parsers, and continue a process of migrating those parsers/feed handlers from Python to C++. When we do this, we maintain the integrity of the data by rigorously comparing the Python output with the C++ output with both unit tests and by running tools to compare entire days of output. The Python parser and the data will be provided. We have already converted a number of parsers, and there is a pattern to follow.
Responsibilities
- Handling exchange protocol upgrades
- Fixing bugs in existing C++ parsers as they arise
- Migration of Python data parsers into C++ to improve performance, precisely maintaining existing functionality
- Development of Google Test unit tests for the new C++ code, in existing framework
- Comparison of the C++ / Python output using existing tools
Requirements
ESSENTIAL:
- Experience of working with market data protocols such as ITCH, EOBI, iMpact, Optiq, GTP (Group Ticker Plant).
- 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
- Strong problem solving skills
- Strong communication skills
- Computer science or other STEM degree
Benefits
- Combination of remote and London based office working
- Collaborative culture
- Weekly team lunches
- Free fruit, snacks and drinks provided throughout the day (when office based)
- Fridge fully stocked with beer and wine (when office based)
- Regular Team Socials
We are an inclusive employer and welcome applicants from all backgrounds. We pride ourselves on our commitment to Equality and Diversity and are committed to removing barriers throughout our hiring process - if you have any special requirements or require reasonable adjustments to help you access career opportunities at BMLL, please do let us know