About the Role
Department Overview
The Equities Technology division is responsible for building and maintaining the high-performance, ultra-low-latency trading infrastructure that powers our global equities business. This includes market data dissemination, order routing, algorithmic execution, smart order routing (SOR), and real-time risk management systems. We operate in a highly competitive environment where microseconds matter, requiring cutting-edge software engineering practices, deep hardware-software co-design, and robust system reliability.
Role Summary
We are seeking an exceptional Senior Software Engineer with deep expertise in Rust and C++ to join our Equities Low-Latency Trading Technology team. In this role, you will design, develop, and optimize our next-generation trading systems. You will lead the strategic transition of legacy high-performance C++ components to modern Rust where safety and concurrency are paramount, while continuing to maintain and optimize critical ultra-low-latency C++ execution paths. This is a highly technical role requiring a strong understanding of computer architecture, operating systems, network protocols, and modern software engineering paradigms.
Key Responsibilities
System Design & Development
- 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.
Performance Optimization
- 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.
Concurrency & Reliability
- 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 the high availability and operational resilience of trading systems through robust error handling and failover mechanisms.
Collaboration & Support
- Work closely with quantitative researchers, traders, and product managers to translate complex trading strategies and business requirements into robust, 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.
Required Technical Skills & Qualifications
Programming Languages
- C++: Expert-level proficiency in C++ (C++11/14/17/20), with a deep understanding of template metaprogramming, RAII, move semantics, smart pointers, and the standard library (STL).
- Rust: Strong proficiency in Rust, including ownership/borrowing concepts, lifetimes, unsafe Rust boundaries, macro systems, and the Cargo ecosystem.
Systems Programming & Low-Latency
- 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.
Concurrency
- Proven experience in multi-threaded programming, memory models (sequential consistency, acquire-release), and lock-free data structures.
Equities Domain Knowledge
- Solid understanding of Equities market structure, order types, exchange protocols (FIX).
Requirements
Expert C++ skills
Expert-level proficiency in C++ with a deep understanding of modern features.
Strong Rust proficiency
Strong proficiency in Rust, including ownership and concurrency concepts.
Low-latency networking
Experience with low-latency networking and socket programming.
Concurrency expertise
Proven experience in multi-threaded programming and lock-free data structures.
Nice to Have
Solid understanding of equities market structure and exchange protocols.
Experience with Linux operating system internals and kernel tuning.
Benefits
Competitive salary
Offers a competitive salary package.
Health insurance
Comprehensive health insurance coverage.
Remote work options
Flexible remote work options available.