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

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

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

О СЕБЕ​

Backend-разработчик на Python с опытом разработки API на FastAPI и Flask, включая
асинхронные сервисы. Пишу чистый и поддерживаемый код, понимаю основы сетевого
взаимодействия (DNS, TCP/IP, HTTP/HTTPS).
Работаю с Linux-окружением, использую Bash для автоматизации и отладки. Уверенно работаю с
Git (ветки, pull request, разрешение конфликтов). Использую Docker для локальной разработки и
изоляции окружений.
Пишу SQL-запросы без ORM и понимаю принципы их выполнения. Использую Pydantic для
валидации данных, pytest для тестирования, знакома с CI/CD.
Ориентирована на качество кода, развитие продукта и долгосрочную работу в команде.

ОПЫТ РАБОТЫ
Backend-разработчик, 10.2023 - по н.в.​
Проектная занятость (фриланс и pet-проекты)

ЗАДАЧИ
• ​Разработка API, работа с очередями задач и БД (SQLite, PostgreSQL). Интеграция с внешними API.
•​ Проектирование и реализация REST API.
•​ Покрытие кода тестами, поддержка и доработка внедрённых решений.
•​ Оптимизация и рефакторинг существующего кода.

РЕЗУЛЬТАТЫ РАБОТЫ
Telegram-бот с FSM

•​ Стек: Python 3, pyTelegramBotAPI (TeleBot), FSM (Finite State Machine), SQLite, pycountry, logging.
•​ Спроектировала и реализовала бота с использованием конечного автомата (FSM) для управления многоэтапным
сценарием опроса. Бот обрабатывает текстовые сообщения, контакты и callback-запросы ​
от inline-кнопок, обеспечивая гибкость ввода и устойчивость к пропуску шагов.
•​ Организовала пошаговый сбор данных (имя, возраст, страна, город, телефон) с изоляцией логики для
•​каждого этапа, что исключает смешивание состояний разных пользователей и упрощает поддержку кода.
•​ Интегрировала библиотеку pycountry для валидации и нормализации ввода стран, реализовала ​
динамическую подгрузку списка городов из БД SQLite в виде инлайн-кнопок, что улучшило UX и минимизировало
ошибки ручного ввода.
•​ Реализовала механизм пропуска необязательных шагов (например, номера телефона) с помощью
reply-клавиатуры, не ломая общий flow диалога.
•​ Настроила детальное логирование пользовательских действий и системных событий для упрощения ​
отладки и анализа поведения пользователей.
•​ Roadmap проекта (следующие этапы):​
- внедрение Pydantic для строгой проверки входящих данных (возраст, имя) на стороне сервера;​
- миграция с SQLite на PostgreSQL для хранения результатов опросов и отработки работы с СУБД;​
- контейнеризация приложения с помощью Docker и настройка CI/CD (GitHub Actions) для автоматизациитестирования и деплоя;

Высокопроизводительный веб-сервис для поиска по иерархическим данным (FastAPI)
•​ Стек: Python 3, FastAPI, Uvicorn, pytest, collections.defaultdict, асинхронные обработчики.
•​ Спроектировала и реализовала RESTful API на FastAPI для поиска данных в древовидной структуре. Сервис
принимает файл с данными и обрабатывает поисковые запросы по локациям с учетом их вложенности ​
(поиск по родительским и дочерним элементам).
•​ Выбрала и реализовала структуру данных на основе defaultdict для хранения связей «локация -> список
площадок», что обеспечивает скорость поиска, близкую к O(1). Реализовала два режима поиска (up, down) с
обходом иерархии путей.
•​ Разделила бизнес-логику (класс AdService) и слой API (FastAPI роутеры), что упрощает тестирование и
поддержку.
•​ Реализовала асинхронные эндпоинты для обработки файлов и запросов, чтобы не блокировать сервер на
операциях I/O.
•​ Полностью покрыла код юнит- и интеграционными тестами (pytest), включая тесты на корректность загрузки
данных, оба режима поиска и обработку крайних случаев.
•​ Настроила автоматическую генерацию интерактивной документации API через Swagger UI (/docs).
•​ Roadmap проекта (следующие этапы):​
- внедрение Redis для кэширования результатов частых запросов и снижения нагрузки;​
- миграция с хранения данных в памяти на PostgreSQL с использованием ltree-модуля или других подходов для
эффективной работы с иерархиями;​
- добавление Pydantic для валидации, пагинации ответов API, а также контейнеризация (Docker) и настройка
CI/CD для автоматического тестирования и деплоя;

Рефакторинг кода (учебное задание)
•​ Стек: Python 3, рефакторинг, работа со структурами данных (списки, словари), обработка исключений.
•​ Провела разбор и переработку функции на Python, предназначенной для фильтрации входного списка
разноплановых данных и преобразования подходящих элементов в единый формат словарей:​
- вникла в проблему исходного кода, некорректно обрабатывалющего типы данных;​
- формализовала требования: оставить словари, преобразовать строки и числа в вид {element: element};
• Осознанно отказалась от использования рекурсии. Реализовала решение с использованием итерации по списку и
проверки типов с помощью isinstance().
•​ Разделила логику на две функции: create_dict() для обработки одного элемента и data_preparation() для обработки
всего списка. Это повысило читаемость, тестируемость и позволило избежать дублирования кода.

Моделирование системы на основе ООП (учебное задание)
•​ Стек: Python 3, ООП (инкапсуляция, композиция), классы, методы;
•​ Разработала объектно-ориентированную модель сельскохозяйственной системы для симуляции роста растений с
целью отработки и демонстрации ключевых принципов ООП на Python.
• Разделила ответственность между классами:​
- класс Potato инкапсулирует состояние (стадия зрелости) и поведение (рост) одного объекта; ​
- класс PotatoGarden управляет коллекцией объектов Potato и реализует операцию роста для всех объектов сразу
(демонстрация композиции);
•​ Реализовала логику роста и проверки зрелости в виде методов, а не внешних функций.
•​ Использовала словарь для описания стадий зрелости, что упрощает изменение и добавление новых стадий.
•​ Продемонстрировала, как объекты разных классов взаимодействуют друг с другом: PotatoGarden вызывает метод
grow() у каждого объекта Potato в своем списке.

ПРИЧИНА ПОИСКА РАБОТЫ
Стремление продолжить развитие и перейти на полную занятость в качестве Python-разработчика.

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

Python разработчик
Зарплата: 120 000 руб.
Middle Python Developer | AI/ML Engineer
Зарплата: 150 000 руб.
PHP Backend Developer
Зарплата: 120 000 руб.
Frontend разработчик
Зарплата: 90 000 руб.