Я закончил несколько курсов по Python. Постоянно изучаю новые технологии, повышаю уровень своих знаний.
Я не ограничиваю себя какой-то одной областью (веб, облака, серверы, автоматизация), так как считаю, что инженер способен разобраться в любой ситуации при наличии времени. В идеале я хотел бы поработать с разными технологиями, и специалистами с глубокими знаниями в данных областях.
Формат работы любой, также готов к релокации как в РФ, так и вне РФ.
Состою в команде, которая занимается интеграциями между различными сервисами как внутри компании так и за пределами (Pyrus, Gitlab, YouTrack, Telegram, VKTeams, 1C).
В мои обязанности входит:
- разработка новых ботов;
- поддержка и улучшение существующего функционала ботов;
- создание новых функциональностей в соответствии с бизнес требованиями;
- рефакторинг;
- проведение code-review;
Достижения:
- оптимизация кода (переписывание на асинхронный), что увеличило производительность минимум в 3 раза;
- разработках новых асинхронных функция для работы с API Pyrus (запрос/отправка данных);
- оптимизация ботов, работающих с почтой outlook через библиотеку EmailExchangeLib посредством максимально точных запросов (увеличение работы в среднем в 3 раза);
- настроил интеграцию Gitlab-YouTrack, для автоматической смены статусов тикетов в зависимости от результата деплоя в прод;
Прохожу обучение в онлайн школе программирования Хекслет, отрабатываю навыки веб разработки, асинхронного программирования, автоматического тестирования.
В Hexlet я выполнил 2 учебных проекта:
1. Игры разума
Цель проекта: Реализовать несколько игр, построенных по принципу популярных мобильных приложений для прокачки мозга. Каждая игра задает вопросы, на которые нужно дать правильные ответы. После трех правильных ответов считается, что игра пройдена. Неправильные ответы завершают игру и предлагают пройти ее заново.
Полученные навыки:
* изучил работу с пакетным менеджером Poetry;
* использование Makefile для коротких команд;
* научился настраивать рабочее окружение;
* усилил знания по работе с Git и командной строкой;
* навык декомпозиции задач;
* опыт построения архитектуры приложения.
Технологический стек: Python, Poetry, flake8, git.
2. Вычислитель отличий
Цель проекта: Реализовать программу, определяющая разницу между двумя структурами данных.
Возможности утилиты:
* Поддержка разных входных форматов: yaml, json
* Генерация отчета в виде plain text, stylish и json
Полученные навыки:
* работа с деревьями и древовидной рекурсией;
* чтение файлов, парсинг входящих данных;
* программирование в TDD технике;
* написание тестов через фреймворк Pytest;
* работа с параметрами командной строки через argparse;
* подключение автоматизированные тестов через GitHub Actions и программирование в стиле CI.
Технологический стек: Python, Poetry, Pytest, GitHub Actions, flake8, git.
3. Анализатор страниц
Цель проекта: Реализовать сайт, который анализирует указанные страницы на SEO-пригодность.
Возможности:
* Анализ сайтов на наличие некоторых данных (заголовки, описание, коды ответов) для работы с SEO.
Полученные навыки:
* работа с Flask, PostrgreSQL (запись/чтение);
* написание SQL запросов используя модуль psycopg2;
* работа с роутингом, завязанного на методах HTTP;
* использование Bootstrap и его компоненты для визуального оформления;
* деплой на сервис render.com;
Технологический стек: Python, Poetry, Flask, PostrgreSQL, GitHub Actions, flake8, git.
4. Менеджер задач
Цель проекта: Способность создавать с нуля полноценные сайты, используя Python, Django.
Возможности:
* Менеджер задач – это система управления задачами, подобная http://www.redmine.org/. Она позволяет ставить задачи, назначать исполнителей и менять их статусы. Для работы с системой требуется регистрация и аутентификация.
Полученные навыки:
* работа с Django;
* работа с БД с помощью ORM и описанию связей между сущностями (o2m, m2m);
* фильтрация с помощью django-filter;
* написание CRUD-операций;
* использование Flash messages;
* работа с роутингом;
* доступ к данным для авторизированных пользователей;
* использование Bootstrap и его компоненты для визуального оформления;
* переводы с помощью i18n
* деплой на сервис render.com;
* использование сервиса rollbar.com в качестве коллектора ошибок;
Технологический стек: Python, Poetry, Django, GitHub Actions, flake8, git.
Прочитанные книги:
* Грокаем алгоритмы. А. Бхаргава
Книги, которые читаю:
* Структура и интерпретация компьютерных программ. Х. Абельсон, Д. Сассмана
* Высоконагруженные приложения. Программирование, масштабирование, поддержка. М. Клеппман
Навыки
Фундаментальные навыки:
* Алгоритмы и структуры данных (бинарная, пузырьковая сортировки, сортировка вставкой, сортировка слиянием, сортировка выбором);
* Изучал базы данных и практиковался в ходе обучения на MySQL, SQLite.
Прикладные навыки:
* Python (6/10);
* писал админку и работал с БД через Django фреймворк;
* писал тесты на Pytest в рамках учебного проекта, на unittest для тествого задания;
* понимаю как работает Git и для чего нужны определенные команды;
* автоматическое тестирование (Github Actions);
* библиотеки/модули: itertools, argparse, json.
1) Разработка графиков производства работа на объектах строительства.
2) Контроль выполнения строительно-монтажных работ согласно утвержденного графика.
3) Проверка проектной и рабочей документации.
В данной компании создал систему планирования строительства объектов, с помощью которой разные отделы компания могут эффективно взаимодействовать друг с другом по рабочим вопросам, а также выявлять слабые места по каждому виду работ. Данная система позволяет заранее предотвратить простой на площадках строительства.
Современные технологии проектирования и строительства зданий и сооружений
Экспертиза и управление недвижимостью
Продолжаю обучение английскому языку в онлайн-школе Skyeng. Начал учебу с уровня А1, на данный момент уровень В1-В2