About the Role
About the Role
The Senior Software Engineer will design and build high-performance, low-latency trading infrastructure using Rust, C, or C++. This role requires extensive experience in systems-level engineering and a strong background in financial trading systems.
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).
- Hands-on experience with financial trading systems — exchanges, order books, matching engines, OMS/RMS, or market data systems.
- Strong understanding of exchange mechanics — order types, price-time priority matching, spot trading, derivatives, options, margining, and liquidation concepts.
- Strong experience building production-grade, low-latency, high-throughput backend applications.
- Solid understanding of distributed systems and concurrent programming.
- Advanced concurrency: lock-free/wait-free structures, ring buffers, thread-per-core design.
- Strong understanding of networking concepts — TCP/IP, UDP, multicast, real-time communication.
- Experience designing and implementing binary communication protocols for inter-service communication.
- Experience with microservices architecture and event-driven systems.
- Strong debugging, profiling, and benchmarking skills.
Preferred Technical Experience
- Tokio, Tonic (gRPC), Serde, Tracing, Criterion.
- Aeron, LMAX Disruptor, Chronicle, or FIX engines.
- Kernel-bypass networking concepts.
- Lock-free or wait-free programming techniques.
- Options pricing / Greeks / volatility surface exposure.
Preferred Qualifications
- Experience designing highly available and fault-tolerant systems.
- Deterministic simulation / property-based testing of stateful systems.
- Exposure to cloud infrastructure and production monitoring tools.
- Open-source contributions or personal Rust systems projects.
Selection Process
- 3 Rounds of Technical Interview.
- 1 Round of Management Interview.
- Shortlisting based on work evidence.
- Systems design deep-dive, hands-on coding round, distributed systems round.
Requirements
Systems programming experience
10+ years of professional systems programming experience in Rust, C, or C++.
Financial trading systems
Hands-on experience with financial trading systems is mandatory.
Distributed systems knowledge
Solid understanding of distributed systems and concurrent programming.
Networking concepts
Strong understanding of networking concepts such as TCP/IP and UDP.
Nice to Have
Experience with microservices architecture and event-driven systems.
Contributions to open-source projects or personal Rust systems projects.