Senior Python Engineer — Payments, Ledger & Processor Integrations
3 senior-позиции · Fintech / Payments / Digital Assets
Мы ищем трёх Senior Python Engineers в команду, которая отвечает за критический транзакционный контур. Все три роли работают с одним backend, но имеют разный фокус:
-
Principal Ledger & Reconciliation Engineer
-
Payments Engineering Lead
-
Senior Card & Processor Integration Engineer
Это money-critical backend: ошибки в retries, concurrency, idempotency или учёте могут привести к реальным финансовым потерям.
О продукте
Event-driven backend на Python 3.14, FastAPI, PostgreSQL 17, SQLAlchemy 2.0 async, Kafka/Redpanda, Debezium CDC и Temporal.
Платформа интегрируется с банковскими и платёжными рельсами, processor-ами, custody/wallet infrastructure, KYC/KYT-провайдерами и FX-источниками.
Ключевые инженерные принципы:
-
at-least-once delivery + идемпотентность;
-
DB constraints как защита от race conditions;
-
immutable financial history;
-
durable workflows и safe retries;
-
reconciliation и полный audit trail.
1. Principal Ledger & Reconciliation Engineer
О роли
Вы будете отвечать за финансовую корректность платформы: ledger, balances, holds, settlement и reconciliation.
Чем предстоит заниматься
-
Проектировать и развивать double-entry ledger.
-
Моделировать available / pending / hold balances.
-
Реализовывать postings для payments, transfers, fees, refunds, reversals и FX.
-
Защищать ledger от duplicate postings и concurrent execution.
-
Строить reconciliation между внутренним ledger и processors / banking rails / custody providers.
-
Отличать временные расхождения от реальных финансовых ошибок.
-
Исправлять расхождения через compensating entries без переписывания истории.
-
Обеспечивать историческую воспроизводимость и auditability.
Что мы ожидаем
-
Сильный Python backend.
-
Production-опыт с ledger, accounting, transaction processing или reconciliation.
-
Глубокий PostgreSQL: transactions, locking, constraints, isolation, migrations.
-
Понимание double-entry accounting.
-
Опыт с idempotency и concurrency в money-critical системах.
Сильный сигнал: можете объяснить, как гарантировать sum(debits) = sum(credits), не допустить двойной проводки и восстановить расхождение без изменения исторических записей.
2. Payments Engineering Lead
О роли
Hands-on lead, отвечающий за архитектуру и реализацию payment execution layer.
Фокус — полный lifecycle:
request → compliance/authorization → ledger reservation → provider execution → confirmation → settlement/reconciliation.
Чем предстоит заниматься
-
Строить inbound и outbound payment flows.
-
Проектировать payment state machine.
-
Корректно обрабатывать кейс: provider выполнил платёж, но наш запрос получил timeout.
-
Проектировать идемпотентные API и workflows.
-
Защищать money-path от гонок и duplicate execution.
-
Использовать DB-level guards против TOCTOU.
-
Строить durable orchestration на Temporal.
-
Обрабатывать retries, replay и duplicated Kafka events.
-
Реализовывать безопасные webhooks: HMAC/RSA, anti-replay, idempotency.
-
Ревьюить критические изменения и задавать общие engineering patterns.
Что мы ожидаем
-
Senior/Lead Python backend.
-
Production ownership платежных или банковских систем.
-
Сильные distributed systems fundamentals.
-
Глубокое понимание idempotency, concurrency, retries, timeouts и eventual consistency.
-
PostgreSQL + Kafka/Redpanda.
-
Опыт интеграции внешних financial APIs.
-
Способность оставаться hands-on.
Сильный сигнал: при гонке двух pod на один idempotency-key вы сразу думаете про TOCTOU, unique constraint / DB guard и доказательство того, что финансовый эффект произошёл только один раз.
3. Senior Card & Processor Integration Engineer
О роли
Вы будете отвечать за integrations с payment processors, acquiring infrastructure и внешними финансовыми рельсами.
Главная задача — превратить разные provider behaviours в единый предсказуемый внутренний payment model.
Чем предстоит заниматься
-
Интегрировать processors, acquirers и PSP.
-
Реализовывать authorization, capture, refund, reversal, settlement.
-
Обрабатывать API, webhooks и settlement files.
-
Нормализовать provider statuses.
-
Проектировать устойчивость к:
-
timeouts;
-
outages;
-
duplicate/late callbacks;
-
out-of-order events;
-
retryable errors.
-
-
Реализовывать idempotency и anti-replay.
-
Связывать internal transaction IDs с provider IDs.
-
Строить observability и contract tests.
-
Разбирать production discrepancies между provider и internal state.
-
Работать совместно с ledger/reconciliation engineering.
Что мы ожидаем
-
Senior Python backend.
-
Production-опыт с payment processors, acquiring, card infrastructure, PSP или banking APIs.
-
Понимание реального payment lifecycle.
-
Сильные API/webhook integration skills.
-
PostgreSQL и event-driven architecture.
-
Умение дебажить payment flow через API, logs, events, DB и provider state.
Сильный сигнал: лично разбирали incident, где processor state расходился с internal state, и можете объяснить source of truth, reconciliation и защиту от повторного списания.
Общие требования
-
Senior-level Python, async/await.
-
FastAPI или аналог.
-
SQLAlchemy async / PostgreSQL.
-
Schema design и безопасные migrations.
-
pytest и integration tests.
-
Kafka/Redpanda или аналог.
-
Transactional consistency и concurrent execution.
-
Docker, CI/CD.
-
Рабочий английский.
Не обязательно совпадать с нашим стеком на 100%. Гораздо важнее реальная глубина в transactional engineering.
AI-driven engineering
Разработка у нас AI-driven: agent tooling используется для кода, refactoring, тестов, migrations и анализа логов.
Для senior-инженера важно не просто пользоваться LLM, а уметь системно работать с rules/skills и guardrails.
При этом в критических областях — ledger, reconciliation, idempotency, authorization, migrations, security controls — инженер обязан независимо проверять AI-generated output и закрывать его детерминированными тестами.
Наш стек
-
Python 3.14
-
FastAPI
-
SQLAlchemy 2.0 async / asyncpg
-
PostgreSQL 17
-
Pydantic / Alembic
-
Kafka / Redpanda
-
Debezium CDC
-
FastStream
-
Temporal
-
pytest / mypy / ruff / uv
-
Docker
-
GitHub Actions
-
AWS EKS / Helm / ArgoCD / ECR
Формат работы
-
Полная занятость.
-
On-site; remote-only не рассматривается.
-
Jira / Confluence / коммиты — на английском.
-
Работа с money-critical и security-sensitive системами.
Как проходит отбор
-
Обсуждение опыта и определение лучшего fit: Ledger / Payments / Processor Integrations.
-
Техническое интервью: Python, PostgreSQL, event-driven architecture, idempotency, consistency.
-
System design на реальном money-critical кейсе.
-
Финальная калибровка роли и engineering fit.
Кандидат может откликнуться на любой из трёх треков — сильных инженеров мы оцениваем сразу по всем трём.
Похожие вакансии
Высшее медицинское образование по специальности «лечебное дело», «педиатрия». Наличие действующих сертификатов по специальности «организация здравоохранения» и «экспертиза временной нетрудоспособности».
Образование высшее, инженерно-техническое. Знание разделов: ТХ, ТМ, ОВ и ВК, ТС, ХС, ВС, КМ. Опыт работы от 3 лет...
Знание английского языка (обязательно не ниже Upper Intermediate, использование в переписке, устной речи, переговорах). Опыт работы в подборе оборудования.
Высшее техническое/электротехническое образование. Проживание в Москве или МО (обязательно! ). Опыт работы инженером-программистом от 3 - х лет.
Высшее инженерно-техническое образование. Опыт работы в должности от 5 лет. Уверенное владение Revit, а также AutoCAD и MagiCAD.
