Просмотр вакансии

Сегодня 04-07-2026 00:25
02.07.2026, 20:35

Senior backend python developer

Работодатель: ТМГТ

ТМГТ

Город: Москва
Зарплата:  от 200000 до 300000 RUR
Занятость: Полная, 5/2
Опыт работы: Более 6 лет

КОНТЕКСТ РОЛИ

Развитие production-сервисов на Python в составе платформы. Сервисы обрабатывают финансовые операции институциональных клиентов: высокие требования к корректности, идемпотентности, наблюдаемости, аудиту. Регуляторный периметр.

Команда: технический руководитель + 2-3 Senior Backend инженера + SRE/Platform + Solution Architect. Работа в плотном контакте с криптографией, custody-инфраструктурой, расчётным контуром.

Формат: очно, офис в Москве (гибрид допустим). Рабочий язык команды — русский и английский: Jira, коммиты, часть созвонов на английском.

ЗАДАЧИ

— Разработка и развитие production-сервисов на Python (FastAPI, asyncio) в финансовом домене.
— Проектирование схем PostgreSQL под высокую нагрузку: партиционирование, индексы (BRIN, GIN), Row-Level Security, миграции с zero-downtime.
— Реализация идемпотентных операций над финансовыми сущностями; работа с распределёнными транзакциями, eventual consistency, саг-паттернами, transactional outbox.
— Интеграция с очередями (Kafka, Redpanda, RabbitMQ): надёжная доставка критичных потоков (at-least-once + идемпотентные потребители, эффективно-однократная обработка по бизнес-эффекту), dead-letter обработка, backpressure.
— Оркестрация долгоживущих и многошаговых процессов (Temporal): таймауты, ретраи, компенсация.
— Проектирование REST API: OpenAPI 3.1 specifications, контрактное тестирование, версионирование, deprecation policy.
— Безопасность: OAuth2/OIDC (Auth0/Keycloak), JWT, RBAC, secrets management, аудит-логирование под регуляторные требования.
— Покрытие тестами: pytest-asyncio, контрактные тесты, нагрузочное тестирование (Locust/k6).
— Code review, ADR (Architecture Decision Records), наставничество.

ТРЕБОВАНИЯ (ОБЯЗАТЕЛЬНЫЕ)

Технические:
— 5+ лет коммерческой разработки на Python в production
— 2+ года production-опыта с FastAPI (включая ownership сервисов под нагрузкой 1K+ rps или эквивалент по бизнес-критичности)
— Глубокое владение asyncio: event loop internals, отладка блокировок, профилирование async-кода, корректная обработка отмены задач
— Production-опыт SQLAlchemy 2.0 в async-режиме (asyncpg-driver, селективная подгрузка, контроль N+1, alembic-async)
— Pydantic 2 (Rust-core, performance-aware использование, custom validators, ser/de оптимизации)
— PostgreSQL на уровне понимания query plans, partitioning, индексных стратегий, vacuum/autovacuum tuning
— OAuth2/OIDC, JWT, контроль доступа на уровне приложения и БД
— pytest, pytest-asyncio в реальной test-suite (не «писал unit-тесты»)
— mypy strict mode, ruff strict configuration — как требование кодовой базы, не optional; uv как пакетный менеджер
— Git, GitLab CI/CD и/или GitHub Actions, code review на ежедневной основе
— Рабочий английский: свободно читаете и пишете технический английский (Jira, PR, коммиты, документация), участвуете в части созвонов на английском

AI-driven разработка (обязательно):
— Готовность работать в AI-driven процессе: агентский тулинг (Claude Code / субагенты), rules + skills как основной способ писать код, а не разовое обращение к LLM. Подробно — стандарт TMGT-ITJD-STD-001.

Образование и подтверждаемость опыта:
— Высшее техническое образование (информатика, программная инженерия, прикладная математика и аналогичные)
— Производственный опыт документально подтверждаемый

БУДЕТ ПЛЮСОМ

— Опыт в финансовом домене: банки, брокеры, платёжные системы, биржевая инфраструктура, инвест-платформы
— Низкоуровневая работа с asyncpg (raw queries, COPY, connection pooling tuning)
— alembic в async-окружении, zero-downtime migrations на больших таблицах
— time-machine, freezegun для тестирования временной логики
— phonenumbers, cryptography, httpx (production-tuned клиенты с retries, circuit breakers, timeouts)
— Опыт с Kafka/Redpanda (transactional producer + idempotent consumer) либо RabbitMQ + Outbox pattern
— Опыт с CDC (Debezium / transactional outbox) и Temporal в продакшене
— Опыт production-эксплуатации сервисов: чтение логов, трассировка через Jaeger/Tempo, чтение metrics в Grafana, on-call rotation
— Понимание принципов 152-ФЗ, 115-ФЗ, ГОСТ Р 57580.1 — опыт работы в регулируемом периметре (банк, финтех, госсектор)
— Опыт с TigerBeetle или другими специализированными финансовыми ledger-системами; двойная запись / accounting-модель баланса
— OpenAPI 3.1 contract-first development
— Реальный опыт построения AI-driven процесса под себя/команду (свои rules, skills, субагенты)

СТЕК

Python 3.14 · FastAPI · asyncio · SQLAlchemy 2.0 (async, asyncpg) · Pydantic 2 · PostgreSQL 17 · Kafka / Redpanda · Temporal · RabbitMQ · Redis · CDC (Debezium / outbox) · Auth0 / Keycloak · uv / ruff / mypy · Docker · Kubernetes (EKS) · ECR · AWS · GitHub Actions / GitLab CI · Grafana · Loki · Tempo

ПРОЦЕСС ОТБОРА

  1. Скрининг резюме
  2. Технический скрининг (письменный async): точечные вопросы по asyncio, SQLAlchemy 2.0, FastAPI, PostgreSQL, идемпотентности и money-correctness — текстовые ответы, без онлайн-звонков на этом этапе
  3. Парная техническая встреча с техническим руководителем и архитектором (1,5 часа): обсуждение архитектуры реального сценария + ваш production-кейс
  4. Финальная встреча с Генеральным директором

Адрес: Москва, Саввинская набережная

 

Откликнуться на вакансию

Дата
05.07 06.07
USD
2.9062 2.905
EUR
3.3096 3.3156
RUB
3.731 3.7314
CNY
4.2833 4.2863
CHF
3.5857 3.6082
GBP
3.85 3.8754
PLN
7.7059 7.724
Минск
Ночью: °C
Утром: °C
Днем: °C
Вечером: °C

Сейчас: Скорость ветра: 5-7 м/c Атм. давление: 758 мм.рт.ст Влажность: 90%

Спецпредложения