Software Engineer in Test (SDET)
Citadel SecuritiesAbout the Role
The Client Platform technology team builds and evolves the core platform that powers Citadel Securities' client-facing businesses. As a Software Engineer in Test, you'll contribute to a multi-year strategic effort to modernize the platform's infrastructure by building Python-first frameworks and C++-adjacent hooks to verify distributed systems correctness, accelerate CI/CD, and protect latency-sensitive releases across equities (cash/options) and beyond.
- Build test harnesses that simulate client/exchange and OMS order lifecycle workflows
- Author automated tests and grow CI/CD quality gates with deterministic runs
- Design performance and latency test rigs with reproducible results and automatic regression detection
- Create contract tests and service virtualization to decouple teams and speed releases
- Develop failure-mode and chaos testing scenarios
Responsibilities
- Build test harnesses that simulate client/exchange and OMS order lifecycle workflows across equities cash and options
- Author automated tests (unit/integration/contract/perf) and grow CI/CD quality gates; make runs deterministic via golden traces/pcaps and time control
- Design performance/latency test rigs (P50/P99.9, jitter, GC/allocator impact) with reproducible results and automatic regressions gates in CI
- Create contract tests and service virtualization (exchange simulators, market-data replayers) to decouple teams and speed releases
- Develop failure-mode/chaos scenarios (disconnects, throttling, slow consumers, sequence resets, clock skew, backpressure)
- Drive cross-repo test architecture/refactors (shared fixtures, contracts, pipelines) to improve coverage and reliability
- Partner with development, SRE, and the trading desk to define and automate end-to-end scenarios that verify system correctness and business workflows
Requirements
- Proven ownership mindset: comfortable debugging unfamiliar systems, writing docs, and driving cross-team initiatives
- Expert Python for production-grade automation
- Ability to read/modify C++ test code and hook Python harnesses into C++ components
- Strong Linux and networking fundamentals (TCP/UDP, sockets, pcap/Wireshark)
- CI/CD experience (Jenkins/GitHub Actions, Git, CMake); containerized, reproducible test environments
- Hands-on design of performance/reliability tests (latency, throughput, backpressure) and flaky-test triage
- Excellent communication and documentation skills
- FIX engine experience (QuickFIX or proprietary), exchange simulators, OMS/EMS flows, DMA/algos, drop copy
- Observability for tests (Prometheus/Grafana/Jaeger/Tempo; log correlation)
- Data & infra: kdb+/q, Kafka, low-latency instrumentation
- Rust/Go or FP exposure (Haskell/OCaml); contract testing (Pact) and property-based testing (Hypothesis)
- Prior experience in financial systems or large-scale distributed environments
What You'll Get
- $175k–$350k base salary
- Medical and life insurance
- Retirement and tax-free savings plans
- Access to other healthcare programs
- Discretionary incentive compensation program