Python Deverloper
Контакты
Ищу работу на позицию "Python разработчик", полный рабочий день или нет - не принципиально. Интересует как удалённый формат работы, так и офисный - каждый из них удобен по-своему.
В настоящее время проживаю в Минске. Интересует переезд на постоянное место жительства в Российскую Федерацию.
В программирование я пришёл из "инженерных" продаж, экономики и юриспруденции. Меня всегда привлекали сложные задачи, связанные с обработкой огромных массивов разнообразной информации. Имея широкие полномочия, привычным стало находить верные и оптимальные решения в сжатые сроки и в тесном взаимодействии с широким кругом специалистов в разных сферах.
В настоящий момент я ищу команду, готовую принять нового сотрудника и помочь ему в быстрой адаптации на новом месте. Приоритет - необычные и интересные проекты, требующие нестандартного образа мышления от всех его участников.
В данный момент завершил обучение на "Хекслете" по профессии "Python-разработчик", выполнены и завершены следующие учебные проекты:
1. Игры разума
Набор из пяти консольных математических игр.
Полученные навыки:
- настройка операционной системы: Arch Linux;
- настройка инструментов и окружения: PyCharm, poetry, линтера (flake8);
- подключение дополнительных библиотек;
- реализация контроля стандартов кодирования с Codeclimate;
- работа с Git и Github;
- непрерывная интеграция (CI) с использованием Github Actions;
- разработка архитектуры проекта - изоляция побочных эффектов, возможность добавлять новые игры.
2. Вычислитель отличий
Консольная утилита, выстраивающая различия между JSON/YAML файлами с возможностью выбора формата вывода.
Полученные навыки:
- основы архитектуры приложений, работа с модулем командной строки argparse;
- работа с деревьями (их построением и обходом) и древовидной рекурсией;
- специфика работы с разными форматами данных (JSON, YAML), их парсинг и формирование формата вывода;
- основы тестирования CLI-приложений (pytest);
- освоен подход разработки через тестирование (TDD), углублены знания непрерывной интеграции (CI);
- основы и отдельные элементы экстремального программирования (XP).
3. Загрузчик страниц
PageLoader – утилита командной строки, которая скачивает страницы из интернета и сохраняет их на компьютере. Вместе со страницей она скачивает все ресурсы (картинки, стили и js) давая возможность открывать страницу без интернета.
Полученные навыки:
- создание хороших абстракций и правильная организация процесса загрузки;
- использованы и изучены библиотека для выполнения HTTP-запросов requests, встроенные модули os и sys;
- применена обработка ошибок и исключений;
- внедрен контроль процесса выполнения кода с помощью логирования (logging);
- в тестах проекта использован манки-патчинг HTTP-запросов с помощью библиотеки requests-mock;
- парсинг страницы в DOM, извлечение всех ресурсов для скачивания,создание локальных ссылок. Работа с библиотекой BeautifulSoup.
4. Загрузчик страниц
Task Manager – система управления задачами, позволяющая ставить задачи, назначать исполнителей и менять их статусы. Для работы с системой требуется регистрация и аутентификация.
Полученные навыки:
- фреймворк Django с Django ORM;
- встроенная система авторизации и аутентификации;
- работа с БД - в т.ч., PostgreSQL, создание сущностей с помощью ORM и описанию связей между ними (o2m, m2m);
- работа с HTML, CSS, подключение к проекту Bootstrap, использование шаблонизатора Jinja;
- при разработке использовался WSGI HTTP сервер gunicorn;
- выполнялся тестовый деплой на Heroku.
- Linux;
- Git, Github, CI (Actions), Github Pages, GitLab;
- HTTP/HTTPS, Postman;
- Python: принципы и основы ООП, фреймворки Flask и Django (Django ORM);
- автоматическое тестирование pytest, coverage, линтер flake8 и пр.;
- HTML/CSS: Bootstrap;
- SQL;
- Реляционные базы данных (PostgreSQL);
Образование
Рекомендации
Артем, привет!
Хочу предложить несколько дополнений к резюме:
1. Описание лучше начать с самого главного, с цели поиска, например, "Ищу работу..", не забыть написать язык программирования, после чего перейти к описанию удобного графика работы, указать город проживания.
2. Учебные проекты предлагаю визуально выделить, ссылки на github можно зашить в названия проектов. Для примера оформления: https://cv.hexlet.io/resumes/1380#answer-612.
Успехов в IT и интересных проектов!
Добавить комментарий/ссылку на вакансию