Python Tech Lead / Staff Backend Engineer - Payments
О роли
Ищем hands-on технического лидера, который возьмёт ownership критического транзакционного контура: payment execution, ledger, processor integrations и reconciliation. Это не чисто менеджерская позиция - основная ценность роли в архитектурных решениях, личной работе с кодом, разборе сложных инцидентов и повышении инженерной планки команды.
Нам нужен человек, который способен самостоятельно уменьшать техническую нагрузку на команду: принимать решения в условиях неполных внешних контрактов, видеть системные риски до релиза и доводить money-critical изменения до проверяемого production-ready результата.
О продукте
Мы строим B2B fintech-платформу с event-driven backend на Python 3.14, FastAPI, PostgreSQL 17, SQLAlchemy 2.0 async, Kafka/Redpanda, Debezium CDC и Temporal.
Платформа интегрируется с банковскими и платёжными рельсами, processors, custody/wallet infrastructure, KYC/KYT-провайдерами и FX-источниками. Ошибка в retries, concurrency, idempotency или учёте может привести к реальному финансовому эффекту, поэтому решения должны быть объяснимыми, наблюдаемыми и защищёнными детерминированными инвариантами.
Чем предстоит заниматься
- Проектировать и развивать payment state machine и полный lifecycle операции: authorization, reservation, provider execution, confirmation, settlement и reconciliation.
- Развивать double-entry ledger, available/pending/hold balances, fees, refunds, reversals и FX postings.
- Обеспечивать идемпотентность и защиту от duplicate execution, race conditions и TOCTOU через transaction boundaries, DB constraints и другие доказуемые guards.
- Корректно обрабатывать timeout и неизвестный результат внешнего вызова без слепого повторного списания.
- Проектировать durable workflows, safe retries, replay и обработку duplicated/out-of-order Kafka events.
- Строить безопасные webhooks: HMAC/RSA verification, timestamp/anti-replay, persist-then-process и idempotent processing.
- Разбирать расхождения между internal state и provider state, строить reconciliation и compensating entries без переписывания финансовой истории.
- Принимать ключевые system-design решения, ревьюить критические изменения, задавать engineering patterns и помогать сильным разработчикам расти.
- Оставаться hands-on: писать и ревьюить production-код, тесты, migrations и observability для money-path.
Что мы ожидаем
- Senior/Lead-level Python backend и подтверждённое production ownership критического сервиса или контура.
- Глубокое понимание async/await, FastAPI или аналогичного framework и строгой типизации.
- Сильный PostgreSQL: schema design, transactions, locking, isolation, constraints и безопасные migrations.
- Опыт с Kafka/Redpanda или аналогичной event-driven системой; понимание at-least-once delivery, replay и idempotent consumers.
- Production-опыт в payments, banking, ledger, transaction processing, reconciliation или другом stateful money-critical домене.
- Опыт интеграции внешних financial APIs, processors или providers через API, webhooks и settlement/status flows.
- Способность объяснять компромиссы, принимать решения и отвечать за результат, а не только выполнять готовые задачи.
- Рабочий английский для документации, Jira/Confluence и инженерной коммуникации.
Сильным плюсом будет
- Temporal, Debezium CDC, FastStream, AWS EKS, Helm или ArgoCD.
- Практический опыт double-entry accounting, custody/wallet infrastructure, KYC/KYT/AML или цифровых активов.
- Опыт технического лидерства без ухода от кода: system design, code review, incident leadership и развитие общих стандартов.
AI-driven engineering
Agent tooling используется для декомпозиции, кода, refactoring, тестов, migrations и анализа логов. Для Tech Lead/Staff уровня важен системный workflow: качественный контекст и правила, review diff, детерминированные проверки и личная ответственность. Секреты, PII и чувствительные финансовые данные не передаются во внешние модели; ledger, reconciliation, authorization, migrations и security controls проверяются независимо от AI-generated output.
Почему роль может быть интересна
- Прямое влияние на архитектуру и инженерные стандарты критического ядра продукта.
- Сложные задачи на стыке payments, distributed systems, PostgreSQL и внешних интеграций.
- Небольшая команда около 20 человек и стадия prelaunch: решения можно доводить от design до результата без длинной цепочки согласований.
- Возможность построить устойчивые patterns для money-path, а не поддерживать набор изолированных CRUD-сервисов.
Формат работы
Полная занятость. Основной формат - офис в Хамовниках, Москва. Ограниченный гибрид возможен по согласованию, но большинство рабочих дней команда проводит в офисе. Remote-only не рассматриваем.
Детали продукта, юрисдикцию и чувствительный контекст раскрываем после NDA.
Как проходит отбор
- Короткое обсуждение опыта, office-fit и AI-driven процесса.
- Техническое интервью: Python, PostgreSQL, event-driven architecture, idempotency, consistency и incidents.
- System design на реальном money-critical кейсе.
- Финальная калибровка роли и engineering fit.

