Ищем Senior C#/.NET разработчика в инвестиционный фонд, который использует передовые алгоритмы для торговли на рынках криптовалют.
Обязанности
Проектирование и разработка высокопроизводительной торговой платформы с учётом требований низкой задержки.
Реализация интеграции и обработки рыночных данных через протоколы 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.
Задачи: интеллектуально насыщенные, связанные с построением и оптимизацией низколатентных торговых систем, исследованием новых подходов и технологий.
Конкурентная компенсация: привлекательная заработная плата, бонусы по результатам работы, премии за достижения и успехи в проектах.
Социальные бонусы: гибкий график, профессиональное развитие (участие в конференциях, обучение), организация выездов/ретритов в страны с тёплым климатом для офлайн-встреч.
Процесс: несколько этапов технического интервью, включая задачи по оптимизации и анализу кода; обсуждение архитектуры, кейсов из опыта кандидата.