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!


Добавить комментарий/ссылку на вакансию
Для этого действия нужновойти
Войдите, чтобы предложить вакансию кандидату или оставить комментарий
Последние ответы
Рекомендация 0001
Отличный тестировщик! Рекомендую!
Это тестовая рекомендация не воспринимай всерьёз
Это резюме выглядит впечатляюще и информативно. Кандидат умеет описывать свой опыт и пр...
Кандидат имеет некоторый опыт в области тестирования и обладает базовыми навыками работ...
Извините, но ваше резюме содержит только ссылку на профиль GitHub и адрес электронной п...
Это резюме содержит множество детальной информации о вашем образовании, опыте работы и ...
Это резюме содержит много информации о вашем опыте работы и образовании, но оно может б...
Это резюме имеет некоторые сильные стороны, такие как: Хорошо сформулированный профес...
Это резюме не соответствует стандартам и не предоставляет достаточно информации о канди...