ArtVolkov.ru

Senior C# Developer (HFT)

800 000 - 1 000 000 RUR
  • Москва
  • Полная занятость
  • Удаленная работа
  • От 3 до 6 лет
  • HFT
  • WebSocket
  • .net
  • С#
  • маркет-мейкинг

Мы алгоритмический хедж-фонд, реализующий широкий спектр торговых стратегий на крипто валютных рынках.

Ищем Senior C# разработчика в крипто-хедж-фонд с фокусом на HFT и маркет-мейкинг.
Задачи — разработка низколатентной торговой платформы, интеграции с биржами (FIX/WebSocket), оптимизация под микросекундные задержки и алгоритмы маркет-мейкинга по опционам.

Подойдёт тем, кто пишет zero-allocation код, разбирается в GC и хочет работать в проде, где каждая микросекунда имеет значение.

Обязанности

● Проектирование и разработка высокопроизводительной торговой платформы с учётом требований низкой задержки.

● Реализация интеграции и обработки рыночных данных через протоколы FIX/FAST/REST/WebSocket:

○ Формирование и агрегация котировочных стримов, объединение стаканов.

○ Оптимизация обработки входящих данных (низкоуровневого парсинга, буферизации, zero-copy, минимизация аллокаций).

● Реализация и улучшение алгоритмов рыночного построения и исполнения ордеров, включая market making стратегий по опционам.

● Оптимизация алгоритмов с использованием SIMD, low-level оптимизация и профилирование.

● Оптимизация сетевых запросов и работы с сокетами (минимизация задержек, эффективное использование I/O-моделей).

● Написание «zero-allocation» кода на C#, анализ и устранение причин сборки мусора (GC).

● Разработка взаимодействия C# кода с нативными библиотеками.

● Участие в техническом проектировании: выбор архитектурных решений для систем высокой производительности и масштабируемости.

● Мониторинг производительности и стабильности системы, выявление узких мест и их устранение.

● Участие в тестировании (unit/integration), нагрузочном тестировании, написание автотестов для ключевых компонентов.

Требования

● Отличное владение C# (.NET 7+).

● Опыт разработки interop взаимодействия.

● Глубокое понимание многопоточности: модели памяти, синхронизация, lock-free, конкурентные коллекции.

● Опыт написания zero-allocation кода на C#: умение выявлять и устранять аллокации, знание особенностей CLR/GC.

● Хорошее знание протоколов, применяемых в торговых системах (FIX, FAST, WebSocket, TCP, UDP и др.).

● Широкий кругозор в области архитектур высокой производительности: опыт проектирования систем с минимальными задержками, распределённых и масштабируемых компонентов.

● Практический опыт оптимизации latency: профилирование, анализ «горячих» участков кода, устранение узких мест.

● Опыт работы в HFT-проектах.

● Опыт разработки market making стратегий по опционам, понимание специфики опционных рынков и рисков.

● Знание принципов работы matching engine, понимание механик работы биржевых ордеров и биржевого стакана.

● Умение работать с инструментами профилирования (dotTrace, PerfView, профилирование нативного кода и т.п.).

● Опыт работы с системами мониторинга и логирования (сбор метрик задержек, метрик производительности).

● Высокая самоорганизация и умение работать удалённо: самостоятельное планирование задач, отчетность.

Условия

Формат работы: полностью удалённо с периодическими командировками в страны с благоприятным климатом (за счёт компании или частично за счёт компании — обсуждается отдельно).

Команда: дружелюбная и профессиональная, объединяет опытных разработчиков и квант-аналитиков. Регулярные технические митинги, обмен знаниями, code review.

Задачи: интеллектуально насыщенные, связанные с построением и оптимизацией низколатентных торговых систем, исследованием новых подходов и технологий.

Конкурентная компенсация: привлекательная заработная плата, бонусы по результатам работы, премии за достижения и успехи в проектах.

Социальные бонусы: гибкий график, профессиональное развитие (участие в конференциях, обучение), организация выездов/ретритов в страны с тёплым климатом для офлайн-встреч.

Процесс: несколько этапов технического интервью, включая задачи по оптимизации и анализу кода; обсуждение архитектуры, кейсов из опыта кандидата

Процесс найма

  1. Вводный звонок с рекрутером — 25–30 минут
  2. Техническое интервью с командой — 60 минут

Оффер