C++ Market Data Engineer
⚲ Warszawa
25 000 - 50 000 PLN brutto (UoP)
Wymagania
- C++
- Low Latency
- Market Data
- Python
- Network Protocols
- Java
- Kafka
- Docker
- Kubernetes
- ProtoBuf
Opis stanowiska
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.
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.
🔍 Dekoder Ogłoszenia
🔴
highly specialised engineering team
Może oznaczać zespół z wąską specjalizacją, co może ograniczać możliwości rozwoju w innych obszarach, lub zespół z bardzo specyficznymi, niszowymi umiejętnościami.
🔴
proprietary, high-performance, real-time market data distribution platform
Praca z systemem stworzonym od podstaw przez firmę, co może oznaczać brak dokumentacji, trudności w zrozumieniu kodu i ograniczoną możliwość wpływu na architekturę.
🔴
understand the micro-details of network protocols
Oczekiwana jest bardzo głęboka, wręcz akademicka wiedza o protokołach sieciowych, a nie tylko ogólne zrozumienie.
🔴
build systems handling massive throughput
Może oznaczać pracę z ekstremalnie dużymi obciążeniami, co wiąże się z presją i koniecznością ciągłego optymalizowania.
🟡
Contribute to architectural decisions
Oznacza, że będziesz miał wpływ na architekturę, ale niekoniecznie będziesz jej głównym architektem, a Twoje propozycje mogą być odrzucane.