Инженер по трейдингу
Местоположение: Лагос, Нигерия / Удаленно
Тип занятости: Полная занятость
О Busha
С момента своего основания в 2018 году Busha находится в авангарде обмена цифровых валют, предлагая торговые опции в таких криптовалютах, как Bitcoin и Ethereum. Наша миссия — построить открытую финансовую систему, отличающуюся инновациями, эффективностью и удобством для пользователя. Мы ценим Четкую Коммуникацию, Позитивную Энергию, Эффективное Исполнение и Непрерывное Обучение у всех членов нашей команды.
В Busha мы создаем технологии, которые делают финансовые услуги более доступными, эффективными и надежными. Busha Pro — это наша спотовая биржа для криптовалют и фиатных валют, где скорость, надежность и безопасность необходимы для обеспечения бесперебойной торговли для наших пользователей.
Возможность
Это возможность работать над инженерным обеспечением действующей биржи, где скорость, надежность и точность имеют значение.
Вы возьмете на себя ответственность за системы, отвечающие за обработку ордеров, сопоставление сделок и поддержку биржевых операций, будете их улучшать: эксплуатировать в продакшене, делать их быстрее и безопасно расширять.
Обзор
Мы ищем человека, который понимает больше, чем просто написание кода. Вы должны понимать, как работают торговые системы, как надежно создавать их в масштабе и как решать технические задачи, связанные с транзакциями в реальном времени.
Вы будете нести значительную ответственность за технические решения, формировать архитектуру платформы и тесно сотрудничать с командой для преобразования требований к продукту в надежные, готовые к продакшену системы.
Обязанности
- Взять на себя ответственность за биржу Busha Pro: глубоко изучить кодовую базу, эксплуатировать ее в продакшене и укрепить.
- Проектировать, создавать и оптимизировать бэкенд-системы, которые обеспечивают торговые возможности Busha Pro.
- Разрабатывать и улучшать компоненты сопоставления (matching engine), стаканы заявок (order books), рабочие процессы обработки ордеров и исполнения сделок. Обеспечивать детерминированность и согласованность сопоставления при пиковой нагрузке, без пересеченных стаканов, фантомных исполнений или устаревшего состояния ордеров.
- Создавать надежные системы, которые могут обрабатывать большие объемы транзакций, сохраняя скорость, точность и согласованность.
- Работать над API (REST, WebSocket и позже FIX), рыночными данными в реальном времени, сервисами, управляемыми событиями (event-driven services), и интеграциями, которые соединяют различные части торговой платформы.
- Улучшать производительность системы, снижать задержку и выявлять узкие места до того, как они станут производственными проблемами. Проводить бенчмаркинг и профилирование пути сопоставления, нагрузочное тестирование на реалистичном трафике и измерять каждое изменение по сравнению с базовым уровнем.
- Создавать средства защиты, которые помогают поддерживать точную обработку ордеров, целостность транзакций и надежное восстановление системы: проверки рисков перед торгами, ценовые диапазоны, автоматические выключатели (circuit breakers), кнопки аварийного отключения (kill switches), отказоустойчивость и аварийное восстановление.
- Обеспечивать точность учета: атомарное урегулирование сделок и комиссий, балансы в реальном времени, сверка криптовалютных и фиатных депозитов и выводов с данными хранения и банковскими записями.
- Добавлять торговые пары, типы ордеров, такие как OCO, take-profit и stop-loss, и функции, выпускаемые без простоя.
- Анализировать требования к бизнес-продукту и предлагать эффективные технические решения.
- Писать чистый, тестируемый и поддерживаемый код, участвовать в ревью кода и обсуждениях технических дизайнов. Тестировать инварианты сопоставления и учета с помощью симуляции и повторного воспроизведения (replay).
- Взять на себя ответственность за функции от проектирования и реализации до тестирования, развертывания и постоянного мониторинга.
- Участвовать в ротации дежурств для систем торговли в продакшене.
- Сотрудничать с командами Product, Engineering и DevOps для реализации ключевых технических приоритетов.
- Делиться своими знаниями, поддерживать других инженеров и вносить вклад в развитие лучших инженерных практик.
Что мы ищем
- 5–7+ лет профессионального опыта в разработке программного обеспечения, с сильным опытом бэкенд-разработки.
- Отличное знание Go, или отличное знание Rust, C++ или Java и готовность работать преимущественно на Go.
- Практический опыт создания, эксплуатации или улучшения торговых систем, биржевой инфраструктуры, сопоставительных механизмов (matching engines) или сопоставимых платформ обработки транзакций в реальном времени.
- Глубокое понимание стаканов заявок, жизненных циклов ордеров, логики сопоставления и исполнения сделок.
- Опыт создания систем, где производительность, параллелизм, надежность и согласованность данных имеют решающее значение, включая идемпотентность, обработку ровно один раз (exactly-once processing) и восстановление после частичных сбоев.
- Опыт работы с системами, требующими низкой задержки, высокой доступности и предсказуемого исполнения при высоких нагрузках.
- Глубокие знания структур данных, алгоритмов, баз данных и распределенных систем.
- Опыт проектирования API, сервисов, управляемых событиями, и масштабируемых бэкенд-архитектур.
- Хорошее понимание существующей кодовой базы: вы улучшаете живую систему небольшими, безопасными шагами, а не стремитесь к полной переписке.
- Работа над производительностью, основанная на измерениях: профилирование, перцентили задержки (p99 и выше), тюнинг памяти и сборки мусора.
- Рабочее знание внутренних механизмов Linux, включая многопоточность, эффекты CPU и NUMA, системные вызовы и сетевые протоколы TCP/UDP.
- Практический подход к тестированию, отладке, оптимизации производительности и надежности продакшена, включая тестирование, которое доказывает корректность посредством симуляции, фаззинга или повторного воспроизведения производственного трафика.
- Вы эксплуатировали то, что создали в продакшене, включая дежурства и реагирование на инциденты, и можете отлаживать на уровнях ОС, сети и приложения.
- Способность брать на себя ответственность за сложную техническую работу и выполнять ее с минимальным надзором.
- Сильные навыки решения проблем и способность четко излагать технические решения.
Требования
- Опыт работы на криптовалютной бирже, платформе финансовых торгов или электронном рынке.
- Знакомство с механизмами контроля рисков, расчетов или инфраструктурой рыночных данных.
- Крипто-инфраструктура: кошельки, хранение, блокчейн-ноды, конвейеры депозитов и выводов.
- Фиатные платежные каналы: банковские переводы, местные платежные сети, расчеты и сверка.
- Протокол FIX, event sourcing или паттерны низкой задержки, такие как LMAX Disruptor.
- Опыт работы с мониторингом рынка, нормативной отчетностью или аудитами на регулируемой площадке.
- TypeScript/Node.js для сервисов, шлюзов или внутренних инструментов, связанных с движком.
Как выглядит успех
Вы поможете нам построить надежные, производительные и готовые к масштабированию торговые системы. Вы возьмете на себя ответственность за важные инженерные результаты, улучшите качество нашей инфраструктуры и поможете обеспечить точную и эффективную обработку ордеров и сделок.
Мы ценим инженеров, которые проактивны, продуманны в своих технических решениях и готовы брать на себя ответственность за системы, которые они строят.
Почему стоит присоединиться к Busha?
В Busha у вас будет возможность работать над сложными финансовыми технологиями, влиять на важные инженерные решения и формировать инфраструктуру Busha Pro.
Если вы любите решать сложные задачи на бэкенде, создавать системы, чувствительные к производительности, и работать над технологиями, где надежность и точность действительно важны, мы будем рады услышать вас.