Senior Go Backend Engineer (Crypto Trading / Telegram Bot)

Дата размещения вакансии: 12.11.2025
Работодатель: Few Cat Limited
Уровень зарплаты:
от 3000 до 4000 RUR
Город:
Москва
Требуемый опыт работы:
От 3 до 6 лет

Go Software Engineer (Strong Middle)

Кто мы и что за продукт

Мы строим trading terminal / execution для крипто DEX трейдинга. Терминал читает сигналы из Telegram и Discord (дальше — X/Farcaster/WeChat/Line etc.), валидирует их и исполняет сделки на Solana и BNB (20+ блокчейнов в родмап) быстрее человека.

Сейчас ядро — социальный снайпинг и автоисполнение, поверх которого мы добавляем трейдинговый функционал:

  • лимитные и маркет-ордера;

  • настраиваемые параметры покупки/продажи (slippage, приоритет/газ, tips/fees);

  • пресеты под разные сети и стили торговли.

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

Архитектура

  • Event-sourcing-ядро. Любое изменение ордера/позиции — событие, оно уходит в RabbitMQ и раздаётся в проекции.

  • Явное предметное разделение. Агрегаты, команды, use-case-уровень — бизнес-логика легко тестируется и расширяется.

  • Единый набор микросервисных практик. Ордера, прайсинг, нотификации, матчинг — с общими трейсами, health-checkами и клиентами.

  • Наблюдаемость по умолчанию. OpenTelemetry, структурные логи, health-эндпоинты.

  • Кэш-слой перед внешними поставщиками. Redis + in-memory для RPC, прайсов и ончейн-метаданных; rate limit / circuit breaker — часть бизнес-логики.

  • Мультичейн-вектор. Сейчас Solana и BNB, дальше — новые сети через адаптеры.

Чем предстоит заниматься

  • Развивать и масштабировать событийно-ориентированную платформу исполнения ордеров.

  • Расширять ордерные потоки: маркет/лимит, жизненный цикл позиций, частичные продажи, TP/SL.

  • Подключать и унифицировать ончейн-/DEX-интеграции под несколько сетей (через адаптеры и фолбэки).

  • Добавлять трейдинг-настройки (slippage, gas/priority, tips/fees) так, чтобы их можно было переиспользовать и быстро менять.

  • Оптимизировать кэширование RPC/DEX-данных и минимизировать внешние запросы без потери точности.

  • Следить за консистентностью цифр: суммы покупки/продажи, PnL, реферальные начисления, баланс, mcap — чтобы всё сходилось с фактом сети и DexScreener.

  • Быстро воспроизводить баги, собирать контекст из логов/трейсов/txid, писать простые проверочные тесты и оперативно фиксить в проде.

  • Работать с входящими сигналами (Telegram/Discord) и превращать их в исполнимые команды/ордера.

  • Держать в актуальном состоянии Telegram-интерфейс (grammY) и править Node.js/TS-часть вместе с Go-сервисами, чтобы новые фичи в боте не отставали от бэкенда.

  • Участвовать в улучшении UX бота: уведомления (Buy/Sell/Pending/Error), карточки позиций, блок Orders, понятные статусы и ошибки.

Технологический стек

  • Go 1.21+, Echo (HTTP), RabbitMQ, PostgreSQL (GORM), Redis, OpenTelemetry

  • Кастомный event-sourcing toolkit

  • REST/WebSocket

  • Docker/Compose

  • Ончейн/RPC по Solana и BNB

  • Node.js + TypeScript (grammY / Telegram Bot API) — интерфейс бота и быстрая правка UI-логики

Обязательные требования

  • 3+ лет коммерческой разработки на Go.

  • Опыт с событийными / CQRS-системами: агрегаты, команды, события, проекции.

  • RabbitMQ и PostgreSQL/GORM на уровне продакшена.

  • Проектирование и использование кэшей (Redis, in-memory, TTL, мониторинг hit-rate).

  • Понимание low-latency-сценариев: как сократить путь «сигнал → транзакция» и не положить внешние API.

  • Опыт работы с денежной математикой: суммы сделок, PnL, комиссии, конвертация в несколько валют (SOL/BNB → USD), аккуратное округление.

  • Понимание жизненного цикла ордера: pending / partial / filled / canceled / error, state machine-логика, работа с частичными продажами.

  • Умение разобрать бизнес-поток (“сигнал → ордер → позиция → TP/SL → PnL/рефералка”), покрыть его тестами и не ломать соседние звенья.

  • Готовность работать в стартап-ритме: быстро поднять локально, повторить баг с реальным кейсом пользователя и отдать фикс в тот же день, когда это критично.

  • Самоорганизация по задачам: уметь оценить, уложиться в срок, отчитаться по результату.

  • Сильные диагностические навыки (pprof, tracing, логи, метрики).

  • Уверенный опыт с Node.js + TypeScript и Telegram Bot API (желательно grammY):

    • правка хендлеров и шагов диалога;

    • работа с inline-кнопками и editMessage;

    • построение UX-цепочек (PENDING → SUCCESS/ERROR, уведомления, карточки позиций) в рамках чат-бота.

  • Готовность не “зависать” в чисто Go-роли: сегодня фиксишь исполнение и расчёт PnL, завтра — UX-сценарий бота и поведение кнопок.

Желательно (будет плюсом)

  • Интеграции с блокчейнами (Solana/BNB/EVM) и DEX/агрегаторами (реальный боевой опыт, а не только pet-проекты).

  • Понимание работы ордербука/матчинга и базовой DEX-математики (ликвидность, маршруты, slippage).

  • Опыт работы с WebSocket-стримами и rate-limited API (ограничения, ретраи, фолбэки).

  • Опыт с Telegram Bot API или другими системами нотификаций, где важен UX в реальном времени.

  • Знакомство с observability-стеком: метрики, алерты, трейсинг вокруг критичных путей (trade execution, TP/SL, рефералка).

  • Опыт в крипто/финтех-продуктах, связанных с ордерами, позициями и PnL.

Как мы смотрим на роль

Часть работы — это новые фичи (новые сети, новые типы ордеров, пресеты, настройки трейдинга).
Не меньшая часть — доведение существующих сценариев до состояния “у пользователя всё бьётся с сетью”: суммы, проценты, рефералка, статусы ордеров, поведение кнопок, уведомления.

Мы ищем человека, которому комфортно и строить новое, и аккуратно «причёсывать» прод, приводя систему к предсказуемому и прозрачному поведению для трейдера.

Процесс

  • Асинхронный этап. Резюме + разбор цепочки обработки маркет-ордера (200–300 слов) с описанием:

    • как вы кэшируете ончейн-/DEX-данные;

    • как считаете итоговые суммы и PnL;

    • что будете делать, если RPC/DEX “падает” или возвращает ошибку.

  • Техническое интервью (60–75 минут). Event-sourcing, доменные команды, минимизация внешних вызовов, небольшая задача по ордерному потоку.

  • Финальное интервью (45–60 минут). Мини-дизайн нового интеграционного сценария (новый DEX/цепочка) + вопросы про фиксы в проде, работу по срокам и подход к инцидентам.

Условия

Remote, full-time, контракт.
Выплаты в USDT/фиате.
Команда не большая, но эффективная, работа напрямую с техлидом, короткие циклы разработки, быстрые релизы и понятный, “видимый” импакт: твои изменения сразу ощущают живые трейдеры.