Яндекс

Golang-разработчик в команду платежного бэкенда

Не указана
  • Москва
  • От 3 до 6 лет
  • Golang

Мы строим платёжную платформу Яндекс Pay — инфраструктуру, через которую проходят миллионы транзакций. Наша команда отвечает за ядро платёжного бэкенда: сервис жизненного цикла транзакций, интеграции с процессинговыми системами, event-driven архитектуру и инструменты наблюдаемости. Мы проектируем системы, где цена ошибки — реальные деньги, а требования к надёжности и консистентности данных — максимальные.

Сейчас мы в процессе масштабной архитектурной эволюции: выделяем доменные микросервисы из монолитного бэкенда, переносим критичные платёжные flow на Go-стек и выстраиваем платформу, которая будет жить следующие годы.

Наш стек:

  • Go — основной язык для новых сервисов;
  • PostgreSQL — хранение состояния и транзакционный inbox/outbox (eventsio);
  • Logbroker (Kafka-like) — event bus для межсервисной коммуникации
  • OpenTelemetry — трейсинг на всех уровнях (HTTP, SQL, бизнес-логика)
  • Рядом живёт Python-бэкенд (asyncio + aiohttp + PostgreSQL), из которого мы выделяем микросервисы — понимание Python будет плюсом, но не обязательно.

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

  • Развивать микросервис транзакций — от создания платежа до терминального статуса, с гарантиями консистентности и идемпотентности;
  • Реализовывать интеграции с платёжными процессингами — каждый со своим протоколом, своей семантикой ошибок и своими гарантиями доставки;
  • Проектировать event-driven цепочки обработки через transactional outbox на PostgreSQL — когда состояние в БД и событие в очереди должны быть атомарны;
  • Участвовать в дизайне API и доменной модели в стиле DDD + Hexagonal Architecture с чёткими портами, адаптерами и нулевыми зависимостями домена от инфраструктуры;
  • Выстраивать observability.

Будет плюсом:

  • Опыт в финтехе или платёжных системах;
  • Знакомство с DDD, Event Sourcing, CQRS;
  • Опыт с PostgreSQL на уровне глубже ORM: транзакции, блокировки, JSONB, миграции;
  • Понимание паттернов Transactional Outbox, Saga, Polling as Retry;
  • Опыт с OpenTelemetry, Prometheus/Solomon, Grafana;
  • Чтение Python-кода.