Senior Software Engineer - Research Technology
DRWAbout the Role
Build and operate the platform powering compute-intensive analysis of large event-stream datasets. The work resembles a game engine's replay loop, a telecom packet pipeline, or a streaming analytics platform, applied to financial market data.
Our stack includes modern C++ for throughput-critical ingestion and simulation, Python with C++ bindings for research tooling, and distributed computing on HPC clusters. Your work will span exchange-data ingestion, HPC orchestration, simulation, and research tooling.
Trading experience is not required; we provide comprehensive onboarding.
- Design, build, and maintain high-performance, scalable software and data systems used by quant researchers and trading teams.
- Implement raw exchange data pipelines in modern C++ and operate them at high-throughput scale.
- Orchestrate and improve reliability of data and compute pipelines on HPC clusters.
- Create ad-hoc computation frameworks and research tooling that let researchers slice, backtest, and iterate rapidly (Python + C++ integrations).
- Develop and maintain simulation frameworks tightly integrated with HFT/live trading platforms.
- Support training and deployment of quantitative models used in trading.
- Optimize codebases for performance, reliability, and resource efficiency across the full stack.
- Work primarily as a hands-on individual contributor while mentoring junior team members as needed.
Requirements
- 7+ years of professional experience building large-scale, high-performance systems; daily use of modern C++ (>=17) and Python expected.
- Strong CS fundamentals: data structures, algorithms, networking, OS, concurrency, and system design.
- Experience running compute at cluster scale: job scheduling, resource management, retries, and reliability. Slurm, Kubernetes, Ray, Spark, or custom internal schedulers all count.
- Proven data-engineering experience: schema design, storage formats, compression, I/O trade-offs, and pipelines processing hundreds of terabytes.
- Experience with columnar formats such as Parquet or Arrow, or comparable domain-specific formats used for event logs, telemetry, or replays.
- Experience designing and operating services or platforms used by other technical users in data-intensive environments.
- Demonstrated ability to ship production software safely and repeatedly, with an obsession for data driven quality.