Citi

Senior Software Engineer Rust- Assistant Vice President

Citi
Apply
15 hours ago
Pune, IndiaSenior

Responsibilities

  • Architect, build, and maintain ultra-low-latency trading systems including exchange connectivity gateways, market data feeds, and algorithmic execution engines.
  • Design reusable APIs and libraries for multiple trading desks.
  • Lead migration of critical trading components from C++ to Rust while preserving performance, safety, and concurrency.
  • Profile and optimize systems for sub-microsecond latency and deterministic performance using CPU pinning, cache-friendly data structures, lock-free programming, memory-mapped files, and custom memory allocators.
  • Use kernel bypass technologies to reduce network stack overhead.
  • Implement highly concurrent, thread-safe, lock-free algorithms and robust error handling and failover mechanisms.
  • Develop unit, integration, property-based, simulation, and back-testing methodologies for trading systems.
  • Build real-time telemetry, monitoring, and alerting tools and provide level-3 production support during market hours.
  • Collaborate with quantitative researchers, traders, and product managers to translate trading strategies and business requirements into production software.

Requirements

  • At least 8 years of professional experience is required.
  • Expert-level C++ proficiency, including C++11/14/17/20, template metaprogramming, RAII, move semantics, smart pointers, and the STL.
  • Strong Rust proficiency, including ownership and borrowing, lifetimes, unsafe Rust boundaries, macro systems, and Cargo.
  • Deep knowledge of Linux operating system internals, including kernel tuning, memory management, virtual memory, page faults, and system calls.
  • Experience with low-latency networking using TCP/IP, UDP, Multicast, and socket programming.
  • Understanding of CPU cache hierarchies, TLBs, branch prediction, and memory barriers.
  • Proven experience with multithreaded programming, memory models, and lock-free data structures.
  • Strong knowledge of equities market structure, order types, exchange protocols including FIX, OUCH, and ITCH, and trading lifecycles.
  • Experience with profiling and debugging tools including gdb, valgrind, perf, VTune, and heaptrack.
  • Proficiency with CMake, Cargo, Git, Jenkins, or GitHub Actions.
  • Preferred qualifications include FPGA integration or hardware acceleration experience, kernel bypass experience, and knowledge of market-making, smart order routing, or statistical arbitrage execution strategies.
  • A bachelor's or master's degree in Computer Science, Computer Engineering, or a related quantitative field is preferred.
  • Strong analytical, communication, collaboration, adaptability, and code-quality skills are expected.

Benefits

  • Full-time position in Citi's Equities Technology Applications Development organization.

Tech Stack

C++CMakeGitGitHub ActionsJenkinsLinuxRust

Categories

Citi

About Citi

10,000+ employees

Citi is a public financial-services company offering consumer and institutional banking, credit cards, wealth management, treasury and trade solutions, and capital-markets services. It serves individuals, corporations, financial institutions, and governments in more than 160 countries and jurisdictions, earning interest and fee income from lending, payments, trading, and advisory. Founded in 1812 and headquartered in New York, it trades on the NYSE under the ticker C.

Contact me