Senior Backend Python разработчик
Москва, РоссияСеньор
Релокация • Удаленная работа
Опыт работы более 5 лет
Опыт работы более 5 лет
Есть файл резюме (защищен)
Короткая ссылка: gkjb.ru/g1CKT
О себе
На данный момент Backend Python разработчик.
Мои компетенции и опыт
телеграм: нужен доступ к резюме
Почти шесть лет на Python в бэкенде. Начинал с платформы для данных с рентген-оборудования, сейчас автоматизирую клиентскую поддержку: асинхронные микросервисы, Kafka, языковые модели. Английский — C1, документацию и переписку веду свободно.
Пишу в основном асинхронный код. Знаю, как event loop планирует задачи и что async/await даёт для конкурентности; где упираюсь в GIL, выношу работу в multiprocessing, блокирующий I/O — в threading. Декораторы, контекстные менеджеры, генераторы — повседневное; метаклассы, дескрипторы и управление памятью нужны реже, но как они устроены, знаю. Типизация везде, связи между слоями — через dependency injection. Стандартную библиотеку знаю хорошо. Прежде чем трогать производительность, сначала профилирую. Алгоритмическая база в порядке: структуры данных, сложность, ООП, SOLID.
Сервисы строю по Clean Architecture: домен отдельно от инфраструктуры, где логика сложная — DDD и гексагональная архитектура. Из паттернов проектирования реально пользуюсь outbox, CQRS, Saga, Unit of Work, репозитории, API Gateway, Circuit Breaker, держусь KISS и DRY. Распределённые системы закладываю с расчётом на масштабируемость и отказоустойчивость; где строгая согласованность не нужна — eventual consistency. Крупные изменения сначала рисую: system design, UML-диаграммы. Под нагрузку смотрю RPS и latency, а не ощущения.
Основная база — PostgreSQL: проектирование схем и нормализация, индексы, разбор EXPLAIN, транзакции, блокировки и MVCC, партиционирование, репликация. Оптимизация запросов у меня начинается с плана, а не с железа. Сложные SQL-запросы с оконными функциями пишу без ORM, если так проще; пулинг соединений — PgBouncer, из драйверов знаю и psycopg. Кеширование в Redis. Из других хранилищ работал с MySQL, Elasticsearch, Memcached и векторными базами (pgvector, Qdrant) — реляционные СУБД или NoSQL выбираю по задаче.
Брокеры сообщений — Kafka и RabbitMQ (aiokafka, aio-pika), реже NATS, Redis Streams и MQTT для телеметрии оборудования. В обработчиках всегда идемпотентность, ретраи с backoff, доставка at-least-once и dead-letter для сообщений, которые не обработались. Фоновые задачи — Celery, Taskiq, APScheduler; пайплайны данных — Airflow, долгие процессы — Temporal.
Проектирование API начинаю с контракта: OpenAPI для REST, AsyncAPI для событий. Делал RESTful-сервисы, WebSocket и SSE для стриминга, интеграции со сторонними сервисами — CRM, helpdesk, вебхуки, иногда SOAP/XML; формат JSON, клиенты httpx и aiohttp. На внешних вызовах — таймауты, rate limiting и ретраи. Аутентификация на JWT и Keycloak, ролевая модель RBAC, шифрование трафика по TLS, проверки по OWASP, настройка CORS. Сетевой стек (TCP/IP, HTTP) и работу клиент-серверной связки разбираю на уровне отладки.
Контейнеризация — Docker с multi-stage Dockerfile, оркестрация в Kubernetes, на старых проектах Docker Swarm. CI/CD в GitLab CI и Jenkins, ветвление по Git flow, деплой без ручных шагов. Скрипты на Bash, на серверах systemd, инфраструктура как код — Ansible и Terraform, из облаков — Yandex Cloud. Пакеты — через uv, на старых проектах Poetry и pip; редактор — VS Code + Orca, в pre-commit линтеры, статический анализ и PEP 8.
Логирование структурированное, метрики в Prometheus и Grafana, ошибки в Sentry, логи в Graylog, ELK и Kibana, трассировка через OpenTelemetry, алерты настраиваю сам: мониторинг и observability появляются до первого инцидента. Тесты раскладываю по пирамиде тестирования: больше всего unit, интеграционные тесты гоняю на настоящих PostgreSQL и Kafka через testcontainers, e2e на ключевые сценарии, нагрузочное тестирование на Locust перед релизом. Моки и фикстуры, автотесты в CI, покрытие считаю, TDD — когда правила запутанные.
LLM подключаю через OpenAI API и GigaChat, пробовал локальные модели (Qwen/KIMI). Делал RAG на LangChain и LlamaIndex с эмбеддингами, агентов на LangGraph с tool calling, ответы проверяю через structured output. Промпт-инжиниринг подкрепляю evaluation на наборе реальных обращений, трейсы смотрю в Langfuse. Есть база по ML и NLP. AI-инструменты в работе каждый день — Claude Code, Codex, Cursor, свои MCP-серверы.
На code review смотрю на читаемость и чистый код больше, чем на стиль. Рефакторю по ходу задач, чтобы технический долг не копился; с legacy кодом — проблем нет. Документацию пишу: README, описание API, решения по архитектуре. Технические решения в зоне своих сервисов принимаю и защищаю. Задачи веду полным циклом и самостоятельно: декомпозиция, оценка сроков, разработка, выкатка в продакшен. Работаю в продуктовой команде по Scrum, иногда Kanban. Задачи веду во внутреннем аналоге Jira, документацию — в корпоративном аналоге Confluence. Обе системы разработаны внутри компании. Тесно работаю с аналитиками, тестировщиками, DevOps и фронтендом.
Есть файл резюме (защищен)
Интересные кандидаты
Мы используем куки, потому что без кук наш сайт не работал бы, другие сайты не работали бы, да и вообще весь
интернет не работал бы
