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
Образование
Могу проходить интервью на английском языке
Проживаю в городе Kazan
Рекомендации
Андрей, привет!
Давай поработаем над содержанием:
1.В этом разделе давай начнем с цели поиска работы, затем укажем удобный формат работы, город проживания и готовность к релокейту. Далее последуют предложения "Умею находить" и ""ищу компанию..."
2. В этот же раздел мы переносим описание учебных проектов.
В название проекта можно зашить ссылку на github, кроме сути проекта и стека добавить полученные навыки
3. В разделе навыки оставляем только навыки :) тезисно, без глаголов.
Успехов тебе в IT!
Добавить комментарий/ссылку на вакансию