C++ Systems Engineer

Engineering C++20 · Linux Moscow · On-site Full-time

The role

You will build and maintain the core systems that touch every trade: the order management system, market-data normalisation layer, risk engine, and strategy execution runtime. Performance is the constraint that drives every design decision — you will be expected to reason about cache lines, branch prediction, and memory allocation patterns as naturally as about API design.

You will work closely with quantitative developers, translating research prototypes into production C++ while preserving the statistical integrity of the underlying models.

Responsibilities

  • Develop and optimise the order management system (OMS) and execution algorithms for latency-critical paths.
  • Implement and maintain market-data handlers for exchange binary protocols (ITCH, OUCH, proprietary feeds).
  • Build the real-time risk engine: position limits, PnL attribution, and hardware kill-switch integration.
  • Write microbenchmarks and use profiling tools (perf, VTune, Valgrind) to identify and eliminate latency regressions.
  • Maintain high test coverage through unit tests, integration tests, and replay-based simulation against recorded market data.
  • Participate in on-call rotation for production system monitoring during trading hours.

Requirements

  • 5+ years of professional C++ development with demonstrated experience in performance-sensitive systems.
  • Deep knowledge of the C++ memory model, move semantics, and modern C++17/20 features.
  • Solid understanding of Linux kernel internals: scheduling, NUMA topology, huge pages, CPU affinity.
  • Experience with lock-free data structures and concurrent programming without relying on mutexes in hot paths.
  • Familiarity with network programming: sockets, epoll, and at least awareness of DPDK or RDMA concepts.
  • Disciplined approach to correctness: you write tests before pushing to main.

Nice to have

  • Experience with FPGA co-design — understanding HW/SW boundaries and DMA transfer patterns.
  • Knowledge of exchange protocols: FIX, FAST, ITCH, or proprietary binary formats.
  • Rust experience; we are actively adopting Rust for infrastructure components.
  • Prior role at a trading firm, exchange, or financial data infrastructure company.

How to apply

Send a CV and links to any relevant open-source work or projects to:

research@klarnet-trading.ru

Subject line: CPP — [Your name]

If you have written a blog post, conference talk, or paper on low-latency systems, include a link — it will be read.

Contact →