Project Description
A leading U.S. hedge fund is seeking experienced C++ Developers with financial markets experience to help build and enhance its global trading systems. The role involves modernizing a large-scale trading platform by migrating from a legacy monolithic architecture to a distributed platform.
The codebase consists of a combination of legacy C++98 and modern C++17/20, providing an exciting opportunity to work on high-performance, low-latency trading systems while contributing to the evolution of next-generation financial technology.
Responsibilities
- Design, develop, and maintain low-latency, high-performance C++ trading applications.
- Develop robust, optimized, and well-tested software for global trading systems.
- Contribute to the migration of legacy monolithic applications to a modern distributed architecture.
- Participate in weekly Agile sprints and daily stand-up meetings with globally distributed development teams.
- Work with modern development tools and technologies, including:
- Git
- Jira
- GitLab
- CMake
- Nix
- GCC
- Clang
- Optimize software performance by applying deep knowledge of computer architecture concepts, including:
- CPU cache optimization
- Cache misses
- TLB (Translation Lookaside Buffer) misses
- Branch prediction and misprediction
- Kernel context switches
- Stay current with the latest C++ standards and language evolution, including C++23 and C++26.
- Participate in constructive code reviews and continuously improve software quality.
- Collaborate with team members to deliver high-quality solutions within sprint timelines.
Mandatory Skills
- Strong experience with C++, including:
- C++98
- C++11
- Experience with C++14, C++17, and C++20 is highly preferred.
- Strong knowledge of algorithms and software engineering principles.
- Excellent written and spoken English communication skills.
- Ability to safely and efficiently refactor existing code.
- Strong experience writing unit tests.
- Experience developing on Linux platforms.
- Strong debugging skills using gdb.
- Willingness to take ownership and do what is necessary to deliver high-quality solutions.
- Ability to accept constructive feedback during code reviews.
- Willingness to perform thoughtful and constructive code reviews for teammates.
Nice-to-Have Skills
- Experience with open-source libraries such as:
- Boost
- Google Test (gtest)
- Abseil
- DPDK
- Experience using CMake.
- Experience developing electronic trading systems for:
- Equities
- Futures
- Foreign Exchange (FX)
- Commodities
- Knowledge of financial market protocols, including:
- FIX
- ITCH
- OUCH
- Experience with Simple Binary Encoding (SBE).
- Experience processing real-time market data.
- Experience with messaging technologies such as:
- Kafka
- Pulsar
- Aeron
- Experience designing and developing distributed systems.
- Experience with advanced template metaprogramming, particularly using modern C++17 and later standards.
- Experience with CI/CD and DevOps practices, especially using GitLab.
- Exposure to Python or Java.