Overview
We are looking for a Senior Systems Engineer with 10+ years of experience in systems-level engineering (Rust/C/C++), including 5+ years of production Rust, to design and build high-performance, low-latency, fault-tolerant trading infrastructure. Prior hands-on experience with financial trading systems is mandatory.
Responsibilities
Design, develop, and maintain high-performance backend services using Rust - Build scalable and reliable distributed systems capable of handling high request volumes - Optimize application performance, memory usage, and resource utilization - Design clean, maintainable, and well-tested software architecture
Collaborate with product, engineering, and DevOps teams to deliver production-ready solutions
Participate in architecture discussions, code reviews, and technical planning - Troubleshoot production issues and improve system reliability and observability - Write clean, well-documented, production-quality code following engineering best practices
Required Qualifications
10+ years of professional systems programming experience in Rust, C, or C++ (5+ years production Rust)
Mandatory: hands-on experience with financial trading systems — exchanges, order books, matching engines, OMS/RMS, or market data systems (equities, F&O, FX, commodities, or crypto)
Strong understanding of exchange mechanics — order types, price-time priority matching, spot trading, derivatives (futures/perpetuals), options, margining and liquidation concepts
Strong experience building production-grade, low-latency, high-throughput backend applications
Solid understanding of distributed systems and concurrent programming — Raft/consensus, replication, snapshots, deterministic state machines, exactly-once semantics
Advanced concurrency: lock-free/wait-free structures, ring buffers, thread-per-core design, core pinning
Strong understanding of networking concepts — TCP/IP, UDP, multicast, real-time communication, asynchronous networking
Experience designing and implementing binary communication protocols for inter-service communication (SBE, Protocol Buffers, FlatBuffers, Cap'n Proto)
Experience with microservices architecture and event-driven systems - Experience with messaging systems such as Aeron, Kafka, NATS, or similar high-performance platforms
Strong understanding of in-memory data structures and efficient memory management — cache lines, memory ordering, NUMA, allocation-free design
Experience working with relational databases and caching systems
Experience working in Linux-based production environments
Familiarity with containerization and modern deployment practices
Strong debugging, profiling, and benchmarking skills (perf, flamegraphs, Criterion) - Excellent problem-solving and analytical abilities; ability to work independently and take ownership of technical deliverables
Preferred Technical Experience
Tokio, Tonic (gRPC), Serde, Tracing, Criterion, Cargo/Clippy/Rustfmt - Aeron, LMAX Disruptor, Chronicle, or FIX engines
Kernel-bypass networking concepts (iouring, DPDK, AFXDP); hardware timestamping
Lock-free or wait-free programming techniques
Options pricing / Greeks / volatility surface exposure
Preferred Qualifications
Experience designing highly available and fault-tolerant systems (active-active, consensus-based failover)
Deterministic simulation / property-based testing of stateful systems
Exposure to cloud infrastructure and production monitoring tools
Open-source contributions (openraft, TigerBeetle, tokio, etc.) or personal Rust systems projects
Selection Process
3 Rounds of Technical Interview
1 Round of Management Interview
Shortlisting based on work evidence (repo/PR/design doc/write-up of a hard problem solved)
Systems design deep-dive (order book / matching engine design), hands-on coding round, distributed systems round