Как ответить
Моё последнее место работы — компания «ТехноСофт», где я работал junior Python-разработчиком с июня 2023 по февраль 2024. Команда занималась внутренним веб-приложением для автоматизации документооборота. Стек: Python 3.11, Django 4.2, PostgreSQL, Redis, Docker, GitLab CI.
Основной проект — модуль согласования договоров. Я отвечал за разработку API для загрузки и проверки документов. Конкретно: написал эндпоинты на Django REST Framework, настроил валидацию файлов (проверка расширения, размера, антивирус через ClamAV), интегрировал отправку уведомлений через Telegram-бота. Самая сложная задача — оптимизация загрузки больших PDF (до 50 МБ). Изначально запросы падали по таймауту. Я переписал обработку на потоковую загрузку через StreamingHttpResponse и добавил фоновую обработку через Celery. В результате время ответа сократилось с 30 секунд до 2 секунд для файлов до 100 МБ.
Также участвовал в код-ревью: проверял пул-реквесты коллег, обращал внимание на стиль кода (PEP8), отсутствие тестов, потенциальные уязвимости (SQL-инъекции, XSS). Написал юнит-тесты для своего модуля с coverage 85%. Вёл документацию в Confluence.
Из проблем: однажды после деплоя упала база из-за неверной миграции. Я помогал откатывать миграции и восстанавливать данные из бекапа. После этого мы добавили автоматическое тестирование миграций в CI.
За время работы я прокачал навыки работы с Django ORM, отладки, написания тестов и командной работы. Понял, что важно не только писать код, но и думать о поддержке и безопасности.