Sr. Market Data Software Engineer
- Canada
Contract
Applications open in a new tab.
Job details
- Job type
- Contract
- Posting language
- English
- Posted
Original job description
Project Description
Responsibilities
- Design, develop, and maintain C++ market data feed handlers for direct exchange feeds and third-party data providers.
- Build and maintain order books, quote and trade processing, and normalized market data interfaces.
- Implement sequence tracking, gap detection, recovery, snapshot processing, and feed arbitration.
- Develop efficient subscription management and data distribution, including conflation and backpressure handling.
- Optimize latency, throughput, CPU utilization, and memory consumption under peak market conditions.
- Support trading sessions, exchange calendars, symbol mapping, trading status messages, and corporate action updates.
- Build tools for packet capture analysis, feed replay, automated testing, and production diagnostics.
- Monitor data quality, feed health, latency, and recovery performance.
- Investigate production issues and participate in the team’s production support rotation.
- Collaborate with OMS/EMS, infrastructure, QA, and client application teams on integration and delivery.
Skills
Must have
- The ideal candidate combines strong modern C++ skills with experience in market data protocols, Linux, networking, and performance optimization.
Required Qualifications
- Strong professional experience developing production systems in modern C++.
- Experience building real-time market data or other high-throughput, latency-sensitive systems.
- Strong understanding of multithreading, synchronization, memory management, data structures, and algorithms.
- Experience developing and debugging applications on Linux.
- Working knowledge of TCP/IP, UDP multicast, socket programming, and binary protocols.
- Understanding of market data concepts, including quotes, trades, order books, sequencing, and recovery.
- Experience profiling and diagnosing performance, concurrency, and memory issues.
- Familiarity with Git, code reviews, automated testing, and CI/CD.
- Ability to investigate complex issues and communicate clearly across engineering and business teams.
Nice to have
- Experience with U.S. equities, options, or futures market data.
- Familiarity with protocols such as Nasdaq ITCH, NYSE Pillar, Cboe PITCH, CME MDP, CTA, or UTP.
- Experience with lock-free data structures, shared memory, CPU affinity, and cache-aware design.
- Familiarity with hardware timestamping, PTP, kernel bypass, or specialized network interfaces.
- Experience supporting redundant feeds, failover, and disaster recovery.
- Python or shell scripting skills for testing, analysis, and operational tooling.
- Familiarity with OMS/EMS integration and market data distribution to browser-based trading applications.
More about this job
Responsibilities
Develop and optimize C++ market data feed handlers, order books, and normalized data distribution, including sequencing, recovery, and feed arbitration. Monitor feed quality and performance, investigate production issues, build diagnostic and testing tools, and collaborate with trading, infrastructure, QA, and client application teams.
Requirements
Requires strong professional experience building production systems in modern C++ and real-time, high-throughput or latency-sensitive applications. Candidates should have Linux, networking, market data, concurrency, and performance-debugging expertise, along with familiarity with Git, code reviews, automated testing, and CI/CD.
Skills
- Modern C++
- Market Data Protocols
- Linux
- TCP/IP
- UDP Multicast
- Socket Programming
- Multithreading
- Performance Optimization
- Order Books
- Feed Recovery
- Binary Protocols
- Concurrency Debugging
- Memory Management
- Automated Testing
- Git
- CI/CD
Visa sponsorship
Not detected in the job text
Categories
- Software
- Technology
- Engineering
- Finance & Accounting
Keywords
- C++
- Market Data
- Direct Exchange Feeds
- Third-Party Data Providers
- Order Books
- Quotes
- Trades
- Sequence Tracking
- Gap Detection
- Feed Recovery
- Snapshot Processing
- Feed Arbitration
- Conflation
- Backpressure
- Linux
- TCP/IP
- UDP Multicast
- Socket Programming
- Binary Protocols
- Multithreading
- Lock-Free Data Structures
- Shared Memory
- CPU Affinity
- Cache-Aware Design
- Nasdaq ITCH
- NYSE Pillar
- Cboe PITCH
- CME MDP
- Python
- CI/CD