C++ Market Data Engineer
About the Role
Our client is a global financial institution operating at the intersection of technology and trading. We are looking for a C++ Market Data Engineer to join a highly specialised engineering team. In this role, you will help design, optimise, and scale a proprietary, high-performance, real-time market data distribution platform used globally across multiple trading desks.
If you thrive in low-latency environments, understand the micro-details of network protocols, and want to build systems handling massive throughput, this is the perfect challenge.
Key Responsibilities
Design & Optimise: Develop high-performance, low-latency market data distribution systems supporting large-scale, firm-wide access.
Feed Handlers: Build and maintain direct exchange feed handlers (e.g., NYSE, NASDAQ, CME, Eurex) and vendor data integrations (e.g., Refinitiv, Bloomberg B-Pipe).
Data Pipelines: Create robust data validation, quality assurance, and monitoring processes, including APIs and pipelines in Python.
Collaboration: Partner with infrastructure, DevOps, and trading teams to ensure maximum reliability, security, and scalability.
-
Support & Architecture: Contribute to architectural decisions, troubleshoot production issues, and establish best practices for high-scale data access.
Requirements (Must Have)
Experience: 6+ years of hands-on software engineering experience focused on real-time market data and distributed architectures.
Core Tech: Expert-level proficiency in modern C++ (C++14/17/20) with a proven track record in high-performance, low-latency systems.
Protocols & Feeds: Strong experience with direct exchange protocols (FIX/FAST, ITCH, OUCH) and vendor feeds.
Networking & Messaging: Deep understanding of network transport protocols (TCP, UDP, multicast) and messaging frameworks (e.g., Aeron, ZeroMQ, Kafka).
Low-Level Optimisation: Hands-on expertise in memory management, multi-threading/concurrency, CPU core affinity, and NUMA optimisation.
Domain Knowledge: Strong grasp of market data concepts, symbol mapping, segmentation, and A/B arbitration.
Python: Proficiency in Python for building APIs, integration, and data pipelines.
Modern Tooling: Openness to an AI-assisted development workflow (leveraging modern AI tools safely to accelerate delivery, testing, and refactoring).
-
Education: Bachelor’s or Master’s degree in Computer Science, Engineering, or a related technical field.
Nice to Have (Preferred Skills)
Java: Good to have experience or familiarity with Java.
Serialisation: Experience with formats like SBE, Protobuf, Avro, or FlatBuffers.
Cloud & DevOps: Familiarity with containerisation and cloud-native setups (Docker, Kubernetes).
Monitoring: Experience with real-time observability tools (e.g., Prometheus, Grafana).
Asset Classes: Domain knowledge in Equities, FX, Futures, or Commodities.