Мы строим платёжную платформу Яндекс 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-кода.