Описание проекта:
Крупный американский хедж-фонд ищет опытных C++ разработчиков с опытом работы в финансовой сфере для участия в работе над нашими глобальными торговыми системами и для помощи в их портировании на новую распределенную платформу. Это смешанная кодовая база, включающая как устаревший C++98, так и современный C++17/20, которая стремится перейти от большой монолитной системы к распределенной платформе.
Обязанности:
- Торговые системы требуют очень низкой задержки и оптимизированного C++, который является надежным и хорошо протестированным.
- Команда работает по еженедельным спринтам, с ежедневными "стендапами" через zoom с разработчиками со всего мира.
- Мы фанаты C++, используем git, Jira, Gitlab, cmake, Nix, gcc, clang и т.д.
- Мы любим людей, которым нравится работать "близко к железу" и понимать, как компьютеры действительно работают "под капотом", например, что такое промах кэша (cache miss), что такое промах TLB (TLB miss), каковы затраты на ложные предсказания ветвлений (branch misprediction), как избежать переключений контекста ядра (kernel context switches) и т.д.
- Мы также любим людей, которые увлекаются современными финансовыми рынками и хотят влиять на их функционирование, повышая их эффективность.
- Мы любим изучать языки программирования и их эволюцию, знать, куда движутся C++23 и C++26, и в целом быть в курсе технологий.
Обязательные навыки:
- Минимум C++98 до C++11, предпочтительно опыт работы с 14, 17 и 20.
- Сильные навыки в области алгоритмов и разработки программного обеспечения.
- Хорошее знание письменного и устного английского языка.
- Способность безопасно и эффективно рефакторить код.
- Сильные навыки модульного тестирования.
- Linux.
- gdb.
- Готовность делать все необходимое для выполнения работы.
- Скромность и способность конструктивно воспринимать критику при ревью кода.
- Готовность проводить ревью кода для других в конструктивной манере.
Желательные навыки:
- Знание различных библиотек с открытым исходным кодом, таких как Boost, gtest, Abseil, DPDK и т.д.
- Cmake.
- Опыт работы с торговыми системами для акций, фьючерсов, FX или сырьевых товаров.
- Опыт работы с рыночными протоколами, такими как FIX, ITCH или OUCH.
- SBE.
- Опыт обработки рыночных данных.
- Опыт работы с шинами сообщений, такими как Kafka, Pulsar или Aeron.
- Опыт работы с распределенными системами.
- Интенсивное метапрограммирование на шаблонах, особенно в стиле современного C++17 и выше.
- Опыт CI/CD и DevOps, особенно с Gitlab.
- Знакомство с Python или Java.
Языки:
- Английский: B2 Upper Intermediate