Описание вакансии:
- Разработка основной системы: Ответственность за проектирование архитектуры и разработку основного кода системы партнеров (агентов) биржи.
- Реализация логики расчетов: Руководство разработкой механизма расчета бонусов, обработка потоков средств от торговых операций до бонусных счетов, обеспечение точных расчетов средств при высокой нагрузке (нулевая погрешность).
- Обработка высокопроизводительных сообщений: Использование Pulsar или Kafka для обработки больших потоков торговых ордеров, проектирование эффективных асинхронных механизмов расчетов и сверки для обеспечения реального времени и согласованности бонусов.
- Обеспечение согласованности данных: Решение проблем согласованности данных в распределенных средах, оптимизация обработки транзакций базы данных и предотвращение конфликтов параллельного доступа к средствам.
- Обслуживание и оптимизация системы: Постоянный мониторинг производительности системы, оптимизация скорости отклика API в рамках Gin-фреймворка, ответственность за написание соответствующей технической документации.
Требования к кандидату:
- Высшее образование в области компьютерных наук, программной инженерии или смежных областях.
- Опыт разработки на Golang от 3 лет, глубокое знание основных возможностей языка Go (горутины, каналы, сборщик мусора и т.д.).
- Владение основными фреймворками Go (Gin, Echo, GORM) и архитектурой микросервисов.
- Глубокое понимание принципов работы очередей сообщений (Pulsar, Kafka) и сценариев их использования.
- Опыт проектирования реляционных баз данных (MySQL, PostgreSQL), оптимизации индексов и настройки SQL-запросов.
- Знание NoSQL-баз данных (Redis, MongoDB) и методов их оптимизации.
- Знание стандартов проектирования WebSocket и RESTful API.
- Опыт работы с контейнеризацией (Docker, Kubernetes).
- Соблюдение стандартов кодирования, знание шаблонов проектирования и навыки рефакторинга кода.
- Владение системой контроля версий Git и привычка к код-ревью.
- Способность решать сложные задачи и работать в условиях давления.
Предпочтительные навыки:
- Опыт разработки для криптовалютных бирж или систем расчетов.
- Опыт оптимизации систем для работы с большими данными, высокой нагрузкой и низкой задержкой.
- Умение читать техническую документацию на английском языке.


