Python Developer

Контакты


Контакты доступны после входа на сайт

Описание

Нахожусь в поиске работы/стажировки на позицию Python Developer уровня Junior. Рассматриваю трудоустройство с полным типом занятости и готов подстроиться под любой график работы.
Люблю разработку за возможность сталкиваться со сложными задачами и искать оптимальные пути решения, совершенствуясь как специалист каждый день. Умею находить информацию из разных источников и применять ее на практике (практически гуру Stackoverflow). Ищу компанию, в которой пригодятся мои хард-скиллы разработчика и софт-скиллы командного игрока.
В рамках обучения реализовал следующие проекты:
1) "Менеджер Задач" - система управления задачами. Она позволяет ставить задачи, назначать исполнителей и менять их статусы. Для работы с системой требуется регистрация и аутентификация.
Стек: Python 3, Django, Pytest, Poetry, django-bootstrap4, python-dotenv, GIT, CI/CD (Github actions), Flake8(PEP 8), Railway, gunicorn, Rollbar

Применил на практике Django ORM: создание моделей, форм, описание связей (o2m, m2m), модификация встроенной модели для работы с пользователями;
Создал CRUD с помощью встроенного API представлений на основе классов, модификация представлений под нужды проекта (настройка флэш-сообщений, авторизации, редиректов);
Использовал встроенный шаблонизатор Django, в том числе наследование шаблонов, интернационализацию (I18n), CSS-фреймворк Bootstrap;
Задеплоил приложение в PaaS Railway;

2) "Загрузчик страниц" - утилита командной строки, которая скачивает страницы из интернета и сохраняет их на компьютере. Вместе со страницей она скачивает все ресурсы (картинки, стили и js), давая возможность открывать страницу без интернета.
Стек: Python 3, BeautifulSoup4, argparse, pytest, request-mock, GIT, CI/CD (Github actions), Flake8(PEP 8)

Использовал библиотеку requests;
Работал с HTML: реализовал парсинг, скачивание ресурсов, замену ссылок внутри тегов на локальные пути;
Использовал встроенные модулей os и sys, обработал коды возврата;
Отработал манки-патчинг с помощью библиотеки requests-mock

3) "Вычислитель отличий" - CLI утилита, которая отображает различия между двумя конфигурациями в JSON, YAML формате.
Стек: Python 3, argparse, pytest, json/yaml, GIT, CI/CD (Github actions), Flake8(PEP 8)

Использовал рекурсивный обход и построение внутреннего представления для древовидных структур
Примененил библиотеки argparse для создания утилиты командной строки.
Использовал паттерн TDD
Имплементировал уровневое проектирование, выделение правильных абстракций.
Обрабатывал форматы JSON и YAML.
Реализовал возможности использования пакета как библиотеки.

4) "Weather Bot" - Телеграм бот для оперативного отображения метеосводки в любом городе земного шара.
Стек: Python 3, GIT, aiogram, asyncio, OpenWeatherMap Api, requests, logging;

Добавил логирование с помощью встроенной библиотеки logging;
Применил модуль asyncio для организации конкурентного выполнения кода
Использовал асинхронный фреймворк aiogram для работы с Telegram API.
Использовал морфологический анализатор pymorphy2 для более продвинутого отображения текста в процессе взаимодействия с пользователем.

5) "Игры разума" - 5 консольных игр: 3 правильных ответа дают пользователю победу, неправильный дает шанс начать игру заново.
Стек: Python 3, GIT, poetry, CI/CD (Github actions), flake8 (PEP8);

Использовал непрерывную интеграцию (CI) с помощью GitHub Actions.
Выполнил разделение на скрипты и модули: в скриптах присутствует только запускаемый код, отсутствие запускаемого кода в модулях.
Организовал правильную файловую структуру проекта.
Использовал poetry для управления зависимостями и настройки виртуального окружения.
Применил автоматическое отслеживание качества кода с помощью CodeClimate и flake8
Построил правильную архитектуру проекта, при которой общая логика игр вынесена в отдельный модуль. Благодаря этому код не дублируется, есть возможность добавлять новые игры и менять общую логику.
Использовал наиболее подходящие имена для переменных, функций и констант.

Навыки
  • Django
  • Flask
  • SQL
  • PostgreSQL
  • Docker
  • OOП
  • HTML/CSS
  • Linux (bash)
  • Git
  • Asyncio

Образование


Казанский национальный исследовательский технологический университет, Казань, Химическая технология - Магистр
Сентябрь 2019 - Июнь 2021
Санкт-Петербургский государственный технологический институт (технический университет), Санкт-Петербург, Технологические машины и оборудование - Бакалавр
Сентябрь 2013 - Июнь 2017

О себе
Готов к релокации
Могу проходить интервью на английском языке
Проживаю в городе Kazan

Комментарии


Добавить комментарий
Для этого действия нужновойти

Рекомендации

Изменения внесены
1

Андрей, привет!
Давай поработаем над содержанием:
1.В этом разделе давай начнем с цели поиска работы, затем укажем удобный формат работы, город проживания и готовность к релокейту. Далее последуют предложения "Умею находить" и ""ищу компанию..."
2. В этот же раздел мы переносим описание учебных проектов.
В название проекта можно зашить ссылку на github, кроме сути проекта и стека добавить полученные навыки
3. В разделе навыки оставляем только навыки :) тезисно, без глаголов.

Успехов тебе в IT!


Добавить комментарий/ссылку на вакансию
Для этого действия нужновойти
Войдите, чтобы предложить вакансию кандидату или оставить комментарий
Последние ответы
Привет, Светлана! Давай усилим некоторые блоки и расставим акценты: 1. Описание Так как...
Данное резюме содержит много информации о проектах, навыках и опыте работы кандидата. О...
Это резюме Frontend-разработчика имеет много полезной информации о вашем опыте работы, ...
Это резюме содержит много информации, но не всегда она относится к позиции JavaScript-р...
Резюме имеет следующие сильные стороны: 1. Хорошо структурировано и содержит информацию...
Это резюме содержит некоторые положительные аспекты, такие как ваше стремление к профес...
Это резюме содержит много полезной информации о вашем опыте работы, учебе и проектах, в...
Привет, Роман! Предлагаю дополнить резюме важной информацией: 1. Описание В этот раздел...
Based on the provided information, here is an evaluation of the resume: Strengths: 1. ...
Данное резюме содержит информацию о ваших навыках и проектах, что хорошо. Однако, есть ...