Project Description:
- Large US hedge fund is looking for experienced C++ developers with some finance experience to help work on our global trading systems and to assist in porting them to a new distributed platform. This is a mixed code base of legacy C++98 and modern C++17/20, that is looking to move from a large monolithic system to a distributed platform.
Responsibilities:
- The trading systems require very low latency and optimized C++ that is robust and well tested.
- The team runs on a weekly sprint process, with daily stand ups over zoom with developers from around the world.
- We are C++ fanatics, using git, Jira, Gitlab, cmake, Nix, gcc, clang, etc.
- We love people who like to be close to metal and understand how computers really work under the hood, such as what a cache miss is, what a TLB miss is, what the costs of branch misprediction are, how to avoid kernel context switches, etc.
- We also love people who enjoy modern financial markets, and want to make an impact on how they function, driving the world towards every increasing efficiency.
- We like studying programming languages and their evolution, knowing where C++23 and C++26 are going, and generally keeping informed about technology.
Mandatory Skills Description:
- C++98 through C++11 minimum, prefer experience with 14, 17, and 20
- - Strong algorithms and software engineering skills
- - Good written and spoken English
- - Ability to refactor code safely and efficiently
- - Strong unit testing skills
- - Linux
- - gdb
- - Willingness to do what is needed to get the job done
- - Humility, and an ability to take code review constructive criticism well
- - Willingness to perform code reviews for others in a constructive manner
Nice-to-Have Skills Description:
- - Knowledge of various open source libraries such as Boost, gtest, Abseil, DPDK, etc
- - cmake
- - Trading systems experience with equities, futures, FX, or commodities
- - Experience with market protocols such as FIX, ITCH, or OUCH
- - SBE
- - Experience processing market data
- - Experience with message buses such as Kafka, Pulsar, or Aeron
- - Distributed systems experience
- - Heavy template meta programming, particularly in modern C++17 and beyond style
- - CI/CD and Devops experience, especially with Gitlab
- - Python or Java exposure