Python Backend / Platform

Сергей Турбинов

Python Backend / Platform Engineer

Проектирую асинхронные Python-системы и довожу их до production: границы слоёв, устойчивость внешних API, мониторинг и воспроизводимый релиз.

Москва · remote / hybrid

Selected work

Проекты, которые довёл сам: от границ слоёв и устойчивости API до CI/CD и production. Сначала суть — стек под капотом.

asyncbreaker

Open Source Maintainer

2026.04 – н.в. · v2.1.0 на PyPI · solo

Библиотека устойчивости для Python: без runtime-зависимостей, чтобы интеграции останавливались предсказуемо, а не каскадом.

  • Спроектировал и опубликовал на PyPI единый async API (await breaker.call / декоратор только для coroutine): OPEN-окно и пробный вызов в HALF_OPEN.
  • State machine CLOSED → OPEN → HALF_OPEN с хранилищем в памяти или Redis — общее состояние на несколько воркеров.
  • Релиз: uv + hatchling, CI на Python 3.10–3.13 (pytest, mypy, Ruff, pip-audit), публикация на PyPI по тегам.
Под капотом
  • Python 3.10–3.13
  • asyncio
  • redis.asyncio
  • pytest
  • mypy
  • Ruff
  • uv / hatchling
  • GitHub Actions
  • PyPI Trusted Publishing

Wednesday Bot

Backend / Platform Engineer

2025.12 – н.в. · production v7.4.0 · solo

Асинхронный backend генерации изображений: слоистая архитектура, устойчивость к внешним API и мониторинг в production.

  • Многослойный backend (~400 модулей): домен отдельно от ORM и HTTP, политики доступа.
  • Пайплайн генерации к GigaChat: retry → circuit breaker → rate limit; Redis-кэш поверх SQLAlchemy 2 async + PostgreSQL.
  • Мониторинг: Prometheus + Grafana / Loki; CI — mypy strict, Ruff, ~110 тестов, multi-stage Docker.
Под капотом
  • Python 3.12
  • aiogram 3
  • SQLAlchemy 2 / PostgreSQL
  • Redis
  • httpx
  • Tenacity
  • Prometheus
  • Grafana / Loki
  • Docker
  • GitHub Actions

backup-utils

Platform / SRE Engineer

2026.02 – н.в. · encrypted restic · solo

Модульный bash-клиент (~1.7k LOC): dumps → backup → forget/prune → check → отчёт в Telegram. Несколько jobs на одном хосте, systemd timer.

  • Слои вместо одного скрипта: конфиг, restic, дампы, блокировки, уведомления.
  • Два бэкенда репозитория (SFTP и REST+TLS); если дамп упал — бэкап не пишется; без гонок по одному repo.
  • Политика хранения и проверка целостности, отчёты в Telegram, ShellCheck в CI, секреты вне git.
Под капотом
  • Bash 4.1+
  • restic
  • systemd
  • OpenSSH / SFTP
  • SQLite / PostgreSQL
  • Telegram Bot API
  • ShellCheck
  • GitHub Actions

wedding

Full-Stack Engineer

2026.08 · invitation + RSVP · production за Traefik/TLS · solo

Сайт-приглашение: контент из YAML без пересборки, ответы гостей в JSON, уведомления в Telegram.

  • FastAPI + Jinja2 SSR и REST RSVP на Pydantic 2; контент в config.yaml, обновляется без rebuild образа.
  • Форма RSVP с проверкой на сервере, запись ответов в volume, статус на странице; сбой Telegram не откатывает сохранение.
  • Production: Docker Compose, секреты через .env, Traefik + Let's Encrypt.
Под капотом
  • Python 3.12
  • FastAPI
  • Pydantic 2
  • Jinja2
  • Tailwind CSS
  • Docker / Compose
  • Traefik
  • Let's Encrypt

How I ship

Четыре принципа, которые повторяются в каждом проекте.

  1. Границы слоёв

    Домен отдельно от ORM и HTTP — проще тестировать политики и менять инфраструктуру.

  2. Устойчивые интеграции

    Внешние вызовы: retry + circuit breaker + rate limit, с метриками и понятной остановкой, а не «тихим» каскадом.

  3. Мониторинг вместе с кодом

    Метрики, логи и алерты живут вместе с сервисом, не «добавим потом».

  4. Путь до production

    Docker, CI, секреты вне git, воспроизводимый релиз. Solo/MVP довожу до состояния, в котором можно отдавать в эксплуатацию.

Stack

С 2025.12 перешёл в backend разработку. За это время самостоятельно довёл до production полный цикл: backend Telegram-бота, open-source библиотеку circuit breaker на PyPI, клиент encrypted-бэкапов и SSR-сервис с HTTPS. Сильные стороны: async Python, retry / circuit breaker / rate limit, метрики и логи, CI/CD и Docker.

Языки и runtime

  • Python 3.10–3.13
  • asyncio
  • Bash 4.1+
  • Vanilla JS

Backend

  • FastAPI
  • aiogram 3
  • Pydantic 2
  • SQLAlchemy 2 (async)
  • asyncpg
  • Alembic
  • Redis
  • httpx
  • Clean Architecture / DDD

Устойчивость и данные

  • Circuit Breaker
  • Tenacity
  • Rate limiting
  • restic
  • SQLite
  • PostgreSQL

Мониторинг

  • Prometheus
  • Grafana
  • Loki
  • VictoriaMetrics
  • Vector
  • JSON-логи

DevOps / platform

  • Docker
  • Compose
  • Traefik
  • Let's Encrypt
  • systemd
  • GitHub Actions
  • Poetry
  • uv
  • hatchling

Качество

  • mypy strict
  • Ruff
  • pytest
  • ShellCheck
  • pre-commit
  • gitleaks
  • pip-audit
  • PyPI Trusted Publishing

Frontend (прикладной)

  • Jinja2
  • Tailwind CSS

Контакт

Открыт к разговору о Backend / Platform ролях. Москва · remote / hybrid. Ранее — бизнес-анализ: Сбербанк (клиентские обращения) и Т-Банк (развитие качества).

НИУ ВШЭ · Инфокоммуникационные технологии и системы связи · 2015–2019 · Interests: Platform engineering · Reliability · Developer experience · Async Python · Русский — родной · English — B2 / Technical

Написать в Telegram