Overview
Senior Software Engineer (Rust, Assistant Vice President) on the Equities Low-Latency Trading Technology team, building and optimizing ultra-low-latency trading systems in Rust and C++.
What you'll do
- Architect, build, and maintain ultra-low-latency trading systems, including exchange connectivity gateways, market data feeds, and algorithmic execution engines using Rust and C++.
- Design clean, modular, and reusable APIs and libraries that can be leveraged across multiple trading desks.
- Lead the strategic migration of critical trading components from C++ to Rust, leveraging Rust's memory safety and concurrency guarantees without sacrificing performance.
- Profile and optimize systems to achieve sub-microsecond latencies and deterministic performance.
- Apply low-latency techniques such as CPU pinning, cache-friendly data structures, lock-free programming, memory-mapped files, and custom memory allocators.
- Utilize kernel bypass technologies (e.g., Solarflare OpenOnload, DPDK, EF_VI) to minimize network stack overhead.
- Design and implement highly concurrent, thread-safe, and lock-free algorithms to handle massive throughput with minimal jitter.
- Implement rigorous testing methodologies, including unit testing, integration testing, property-based testing (in Rust), and high-fidelity simulation/back testing environments.
- Ensure high availability and operational resilience of trading systems through robust error handling and failover mechanisms.
- Work closely with quantitative researchers, traders, and product managers to translate complex trading strategies and business requirements into production-ready software.
- Build real-time telemetry, monitoring, and alerting tools to ensure operational visibility.
- Provide level-3 escalation support for production systems during market hours.
What you'll need
- 8+ years of experience (stated as a must have).
- Expert-level proficiency in C++ (C++11/14/17/20), including template metaprogramming, RAII, move semantics, smart pointers, and the STL.
- Strong proficiency in Rust, including ownership/borrowing, lifetimes, unsafe Rust boundaries, macro systems, and the Cargo ecosystem.
- Deep understanding of Linux operating system internals (kernel tuning, memory management, virtual memory, page faults, system calls).
- Experience with low-latency networking (TCP/IP, UDP, Multicast) and socket programming.
- Familiarity with hardware-level concepts: CPU cache hierarchies (L1/L2/L3), TLB, branch prediction, and memory barriers.
- Proven experience in multi-threaded programming, memory models (sequential consistency, acquire-release), and lock-free data structures.
- Solid understanding of equities market structure, order types, exchange protocols (FIX, OUCH, ITCH), and trading lifecycles.
- Experience with profiling and debugging tools (gdb, valgrind, perf, VTune, heaptrack).
- Proficiency with build systems (CMake, Cargo) and CI/CD pipelines (Git, Jenkins/GitHub Actions).
Nice to have
- Experience with FPGA integration or hardware acceleration.
- Experience with kernel bypass technologies (Solarflare EF_VI, OpenOnload, DPDK).
- Knowledge of market-making, smart order routing (SOR), or statistical arbitrage execution strategies.
- Bachelor's or Master's degree in Computer Science, Computer Engineering, or a related quantitative field.
Details
- Location: Pune, Maharashtra, India.
- Full-time.
Read the full description and apply on the company’s own careers page.