Python Backend разработчик

Уровень зарплаты: от 200 000 руб.
Местоположение: Россия, Санкт-Петербург и область (МСК +0ч)

Резюме: Python Backend разработчик

ООО "Про-Авиа" Москва
Август 2024 — По настоящее время (2 года и 1 месяц)

Python Backend-разработчик

Разработка и развитие backend-продуктов компании для автоматизации бизнес-процессов в авиационной отрасли. Основной продукт — ERP-система на Django REST Framework, интегрированная с отдельными сервисами. Занимался разработкой микросервисной архитектуры: разрабатывал сервисы на FastAPI, Kafka и Temporal, реализовывал REST-интеграции между сервисами и асинхронное взаимодействие через брокер сообщений.

Проект: Distributed Analytics Workflow Platform

Описание проекта

Платформа автоматизации длительных аналитических операций на базе Temporal. Предоставляет сервисы для выполнения различных аналитических сценариев, включая получение и обработку данных, сопоставление компаний и автоматическую передачу результатов менеджерам.

Стек: Python 3.14, FastAPI, asyncio, Temporal, PostgreSQL, SQLAlchemy, Elasticsearch, httpx, aiogram, JWT, API Key, Redis, punq, pytest.

Задачи и результаты

-Спроектировал архитектуру платформы для выполнения длительных аналитических операций с использованием Temporal Workflow.
-Разработал Temporal Workflow и Activity для различных сценариев обработки данных с retry-механизмами и обработкой временных ошибок.
-Разработал FastAPI API для получения аналитических данных из ERP и связанных внутренних сервисов.
-Реализовал слой доступа к данным с использованием Repository Pattern и Unit of Work для управления жизненным циклом и транзакциями database session.
-Реализовал защищённую REST-интеграцию между внутренними сервисами по HTTP с использованием API Key и JWT.
-Разработал сервис поиска и сопоставления компаний по названию, никнейму, email и домену.
-Первоначально реализовал поиск на PostgreSQL с использованием pg_trgm и GIN-индексов, затем интегрировал Elasticsearch для развития поискового функционала.
-Реализовал механизм ранжирования результатов поиска с учётом нескольких критериев релевантности и обработки неоднозначных совпадений.
-Настроил регулярную синхронизацию данных между PostgreSQL и Elasticsearch.
-Реализовал обработку и сопоставление данных компаний для формирования аналитических результатов.
-Разработал автоматическую отправку результатов аналитики менеджерам через Telegram с использованием aiogram.
-Реализовал интерактивное взаимодействие через Telegram inline-кнопки для назначения полученных задач в работу.
-Реализовал rate limiter для FastAPI-сервиса с использованием Redis для ограничения частоты запросов.
-Разрабатывал асинхронные unit-тесты для сервисов и бизнес-логики с использованием pytest.

Проект: Микросервис генерации документов

Описание проекта

Отдельный сервис для ресурсоёмкой генерации и обработки документов, интегрированный с ERP-монолитом посредством Kafka и HTTP.

Стек: Python 3.14, SQLAlchemy, PostgreSQL, AsyncPG, Kafka, Redis, Temporal, MinIO (S3), Alembic, Pydantic, punq, pytest.

Задачи и результаты

-Спроектировал и реализовал интеграцию ERP-монолита с отдельным сервисом генерации документов, вынеся длительные ресурсоёмкие операции за пределы пользовательского HTTP-запроса.
-Реализовал асинхронную постановку заданий через Kafka с идемпотентной обработкой запросов и генерацией документов требуемого формата.
-Организовал сохранение сформированных документов в MinIO (S3-compatible storage) и асинхронную передачу результатов обратно в ERP.
-Спроектировал механизм обратной передачи результата через Kafka и Temporal с последующим обновлением сущности документа через HTTP API ERP-системы.
-Оптимизировал конвертацию XLSX → PDF, заменив запуск LibreOffice через subprocess на прямое взаимодействие с UnoServer, сократив время конвертации с 4–5 секунд до ~300 мс и обеспечив безопасный контролируемый доступ к UnoServer.
-Интегрировал централизованную библиотеку логирования: настроил получение приватной зависимости из Nexus через CI/CD secrets и реализовал middleware логирования для формирования технического контекста запросов.
-Разработал Grafana-дашборды для поиска запросов по trace_id и отслеживания цепочки взаимодействия сервисов.
-Разрабатывал GitLab CI/CD pipelines с этапами build и deploy, организовывал деплой сервисов и развёртывание необходимой инфраструктуры в development и production окружениях.

Проект: ERP-система

Описание проекта

Основной backend-продукт компании для управления внутренними бизнес-процессами. Занимался развитием и поддержкой ERP-системы, разрабатывая backend-функциональность и отдельные модули, интеграции и автоматизацию внутренних операций.

Стек: Python, Django, Django REST Framework, PostgreSQL, Redis, Celery, Kafka, MinIO (S3), Docker, OpenAPI/Swagger.

Задачи и результаты

-Разрабатывал и поддерживал backend ERP-системы: реализовывал REST API, бизнес-логику и новые модули, дорабатывал существующий функционал.
-Разрабатывал функциональность для складского учёта, формирования коммерческих предложений и счетов, внутреннего документооборота и других бизнес-процессов.
-Проводил анализ производительности PostgreSQL с помощью EXPLAIN ANALYZE, выявлял узкие места на уровне SQL и ORM и подбирал оптимизации с учётом планов выполнения.
-Оптимизировал критичные запросы PostgreSQL: рефакторил ORM и бизнес-логику, устранял N+1, оптимизировал JOIN и агрегации, добавлял составные индексы. Сократил время выполнения одного из критичных запросов с 8–12 секунд до 400–800 мс.
-Оптимизировал обработку данных в API, сокращая количество подзапросов, избыточную сериализацию и последовательную обработку данных.
-Разрабатывал логику учёта перемещения товаров между складами с автоматическим отражением списания товара на складе-отправителе и поступления на складе-получателе.
-Автоматизировал формирование коммерческих предложений и счетов, в разы сократив объём ручной работы менеджеров при подготовке документов.
-Реализовал генерацию документов в форматах XLSX и PDF.
-Разработал и документировал 40+ REST API endpoint'ов с использованием OpenAPI/Swagger.
-Разрабатывал Django management commands для автоматизации массового и консистентного обновления данных в production-окружении.
-Реализовал периодические management commands, запускаемые через Celery Beat, для автоматической синхронизации данных между Google Sheets и PostgreSQL.
-Реализовал систему ежедневных поздравлений с использованием Redis для хранения состояния пользователей и защиты от повторной отправки сообщений.

Посмотрите похожие резюме

Backend Developer (PHP / Laravel / Yii)
Зарплата: 100 000 руб.
Backend-разработчик
Зарплата: 100 000 руб.
Разработчик
Зарплата: 60 000 руб.
Python developer
Зарплата: 200 000 руб.