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. Представление отсюда убираем, так как т...
Привет, Константин! Давай улучшим твое резюме: 1. Навыки Ты очень прикольно придумал ...
Привет, Ахмед! Давай дополним твое резюме: 1. Контакты Давай добавим твой номер телеф...
Резюме Максима Анисимова представляет собой хороший обзор его навыков и опыта в области...
Это резюме содержит много полезной информации о кандидате, однако есть несколько момент...
Это резюме имеет несколько недочетов и не является оптимальным для поиска работы в обла...
Резюме Junior frontend developer имеет некоторые сильные стороны, такие как: Указание...
Резюме выглядит хорошо структурированным и содержательным. Заявленные навыки и опыт раб...
Это резюме включает в себя хороший набор навыков и опыта работы в различных проектах на...
Привет, Илья! Давай дополним твое резюме: 1. Описание проектов Давай добавим результат...