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/фиате.
Команда не большая, но эффективная, работа напрямую с техлидом, короткие циклы разработки, быстрые релизы и понятный, “видимый” импакт: твои изменения сразу ощущают живые трейдеры.