💜 Подарок для новых пользователей Хабр Карьеры — месяц бесплатного кино и скидка 10% на подписку от онлайн-кинотеатра START → зарегистрироваться
Игорь Гахов (igor_gakhov), 26 лет, Россия, КраснодарИгорь Гахов (igor_gakhov), 26 лет, Россия, Краснодар

Игорь Гахов

Бэкенд разработчик
Не ищу работу
Возраст: 26 лет
Опыт работы: 3 года и 1 месяц
Регистрация: 05.09.2022
Последний визит: сегодня
Местоположение: Россия, Краснодар
Дополнительно: готов к переезду и к удаленной работе
Профессиональные навыки: Веб-разработкаPythonDjangoFastAPISQLPostgreSQLSQLalchemyRedisCeleryAsyncio
Войдите, чтобы посмотреть контакты пользователя

Обо мне

Я являюсь Python-разработчиком, специализирующимся на создании бекенда для веб-приложений. Мой опыт работы включает разработку сервисов с использованием Django/DRF и FastAPI. Знаком с Flask и Aiohttp. В прошлом - технический SEO-специалист, этот опыт помогает быть “на одной волне” с бизнесом, позволяя мне лучше понимать его потребности, касающиеся оптимизации ресурсов в поисковых системах.

Активно участвую в алгоритмических хакатонах. Один из самых значимых для меня был «DatSanta» 2022 года, где команда под моим руководством уверенно дошла до финала, пройдя два раунда, и успешно выполнила поставленную задачу в финале, уступив только по итоговым очкам.

Я нацелен на постоянное самосовершенствование и готов вкладывать время и усилия в изучение новых технологий, чтобы достигать лучших результатов. Мне важно работать в команде, где я смогу обмениваться опытом и знаниями с другими разработчиками, а также получать обратную связь для улучшения своей работы.

    __________________________________________

    Уровень владения английским: средний (~B1)

      Участие в профсообществах

      • GitHub
        @IgorGakhov, c ноября 2021 (2 года и 7 месяцев)
        237 вкладов в 6 репозиториев, связан с языками:

      Опыт работы

      • Разработка программных продуктов на JavaScript, PHP, Python, Java
        КраснодарОт 10 до 100 сотрудников
        Бэкенд разработчик (Средний)Python разработчик
        Август 2023 — По настоящее время (11 месяцев)

        Основной пул моих проектов связан с крупной государственной цифровой экосистемой в сфере туризма (названия связанных компаний и проектов под NDA). Среди них:

        • Журнал о путешествиях по России.
        • Гид по Москве (в т.ч. бронирование отелей и подборки ресторанов, музеев, событий, достопримечательностей, красивых мест прогулок).
        • Путеводитель по России (национальный проект “Туризм и индустрия гостеприимства”).
        • Интегратор карточек (микросервис для “Путеводителя по России”).

        Обязанности:

        • Разработка и поддержка проектов цифровой экосистемы.
        • Интеграция компонентов экосистемы между собой, участие в проектировании архитектуры взаимодействия.

        По проектам:

        1) “Журнал о путешествиях”, “Гид по Москве”, “Путеводитель по России”

        • Разработка админ-панелей для управления контентом.
        • Создание моделей страниц/фрагментов и их иерархии между собой. Написание бизнес-логики: блоки контента; связи сущностей; действия при различных событиях (хуки); поиск по сайту и т.д.
        • Разработка API для отдачи данных на фронт и для интеграции с другими сервисами экосистемы.
        • Создание и поддержка в актуальном состоянии Swagger UI.
        • Кеширование API и функций. Инвалидация кеша по префиксу при событиях со связанными сущностями.

        Стек: Python, Django, Django REST Framework (DRF), Wagtail Headless CMS, PostgreSQL, Redis, DRF-Spectacular, Docker-Compose, Kibana.

        2) “Интегратор карточек”

        • Создание моделей карточек и задач в интеграторе и раздела для Витрины в CMS.
        • Написание CRUD для задач с использованием паттерна DAO (Data-Access Object).
        • Реализация API.

        Стек: Python, FastAPI, Pydantic, PostgreSQL, SQLAlchemy ORM, Alembic, Cron, Docker-Compose.

        Достижения:

        • “Путеводитель по России” и “Интегратор карточек” были качественно сделаны с нуля в очень сжатые сроки без проработанной аналитики. В итоге проект представил министр экономического развития на презентации на ВДНХ в рамках выставки “Россия” и тепло встречен пользователями.
        • Для “Журнала о путешествиях” разработан Глоссарий с терминами; мною единолично была реализована система автоматического обнаружения терминов в статьях (посредством обхода дерева контентных блоков и поиск совпадений через регулярные выражения) и обрамление их в тултипы с учетом множества условий.
      • Elemint
        Санкт-Петербург
        Бэкенд разработчик (Ведущий)Старший Backend разработчик / Team Lead
        Февраль 2023 — Июль 2023 (6 месяцев)

        https://elemint.pro

        Elemint – SaaS-платформа на базе Ethereum, позволяющая создавать свои уникальные NFT-токены из объектов интеллектуального и творческого труда. На этапе MVP целью было создать сервис, в котором по выбранному шаблону можно загрузить Excel-таблицу с данными аттестуемых студентов и получить автоматически сгенерированные сертификаты в блокчейне. На старте был единственным бекенд-разработчиком.

        Обязанности:

        • Анализ требований к проекту и определение наиболее подходящей архитектуры, проектирование и создание схемы базы данных.
        • Разработка API для веб-клиента по дизайн-макету, написание бизнес-логики сервиса и интеграция с блокчейном.
        • Координация работы бекенд-отдела, внедрение в проект новых сотрудников, их обучение и код-ревью.

        Достижения:

        • Успешно запущенный с нуля MVP стартапа.
        • Реализация наиболее сложных компонентов системы, таких как: скрипт для обработки изображений (заполнение сертификатов данными) средствами Pillow без графического редактора на фронтенде, кастомная аутентификация/авторизация (JWT), интеграция с блокчейном через библиотеку Web3 по протоколу IPFS и т.д.
        • В стратегии преемственности разработал тестовое задание для потенциальных кандидатов на вакансию, которое позволяло оценить уровень их знаний и навыков для конкретных бизнес-задач компании. Лично проверил работы и оценил результаты для выбора двух наиболее подходящих кандидатов. Быстро ввёл их в работу.

        Стек: Python, FastAPI, Pydantic, PostgreSQL, SQLAlchemy ORM, Alembic, SQLAlchemy Admin, Passlib, Bcrypt, Jose, Pillow, Web3, Redis, Celery, Flower, Aiosmtplib, Stripe Payments, Docker-Compose, Poetry, Flake8, Pytest.

        • Делаем SEO для порталов, агрегаторов и редакций
          КраснодарОт 10 до 100 сотрудников
          SEO-специалист (Средний)Технический SEO-специалист / разработчик
          Сентябрь 2020 — Апрель 2022 (1 год и 8 месяцев)

          Как SEO-специалист с навыками программирования на Python я автоматизировал рутинные задачи агентства, администрировал сети сайтов и писал технические задания для крупных и известных заказчиков, такие как Tinkoff, MyBook, Calltouch, Tripster, ДомКлик и т.д.

          Обязанности:

          • Составление различных аудитов и неклассических SEO-стратегий с приоритезацией задач, работа в выделенной экспертной команде из SEO-специалистов, программистов, аналитиков, менеджеров, копирайтеров и т.д по методологии Scrum. Поиск и подбор исполнителей для подрядных задач.
          • Написание скриптов для автоматизации внутренних задач (например: парсинг данных из систем аналитики с последующей обработкой, анализом и выводом в отчетность).
          • Администрирование PBN (Private Blog Network) сети сайтов и внесение изменений в них, например, для добавления новых страниц или обновления контента. Настройка веб-аналитики (параллельно закончил курс по веб-аналитике на отлично с самым высоким баллом в группе и сдал сертификацию Google Analytics).
          • Написание кода (нового функционала или исправления существующего) на клиентские страницы и подробных технических заданий по внедрению изменений в код сайта (HTML, CSS, JS), контроль корректности изменений.
          • Мониторинг технического состояния и индексации веб-ресурсов, страниц и контента, систематическое отслеживание рендеринга клиентских SPA-приложений.

          Достижения:

          • Писал инструкции по работе с сервисами для корпоративной базы знаний уже будучи стажером в компании.
          • За первый год был трижды повышен в должности, стал руководителем направления по улучшению пользовательского опыта за счет увеличения скорости загрузки сайта (Метрики Google Core Web Vitals).
          • В отсутствии тимлида (отпуска, больничные) был его исполняющим обязанностей, занимался обучением сотрудника.
          • Консультировал по технической части презентации для выступления коллеги на крупной конференции SEO CLUB SPB.
          • Сопричастен к значимым кейсам компании, таким как Тинькофф Инвест и Майбук.

            Прошел короткий путь от стажера до ведущего технического эксперта с развитием уникальной для рынка экспертизы с нуля. Перед уходом показал наилучший результат по тестированию знаний в отделе.

            Стек: Python, JavaScript, HTML/CSS, Google Tag Manager, Google Analytics/Яндекс Метрика, Google Search Console/Яндекс Вебмастер, Топвизор.

          Дополнительное образование

          • Высшая Школа Экономики (НИУ ВШЭ)

            Зимняя школа по программной инженерии
            Февраль 2023 — Февраль 2023 (1 месяц)

            Прослушал курс лекций школы по программной инженерии от факультета компьютерных наук НИУ ВШЭ, направленный на распространение и обмен знаниями о современных инструментах и методах разработки программного обеспечения. Среди спикеров специалисты, работающие в самых разных областях, связанных с программной инженерией, от тестирования и верификации до разработки новых языков программирования.

            Основные темы школы:

            • Геймдев.
            • Архитектура ПО.
            • Мобильная разработка.
            • Разработка облачных сервисов.
            • API.
            • Цифровые двойники.

          • Хекслет

            Практические курсы по программированию
            Хельсинки1605 выпускников
            Python-разработчик
            Апрель 2022 — Февраль 2023 (10 месяцев)

            Курс «Python-программист»

            Завершенные проекты в процессе обучения:

            Игры разума

              Brain games — набор из пяти консольных игр, построенных по принципу популярных мобильных приложений для прокачки мозга. Каждая игра задает вопросы, на которые нужно дать правильные ответы. После трех правильных ответов считается, что игра пройдена. Неправильные ответы завершают игру и предлагают пройти ее заново. Игры:

              • Калькулятор. Арифметические выражения, которые необходимо вычислить.
              • Прогрессия. Поиск пропущенных чисел в последовательности чисел.
              • Определение четного числа.
              • Определение наибольшего общего делителя.
              • Определение простого числа.

              Полученные навыки:

              • настройка окружения: установка Python и настройка операционной системы Linux Ubuntu, системы контроля версий Git, редактора VSCode, линтера Flake8 (по стандартам кодирования PEP8);
              • работа с терминалом: клонирование Git-репозитория, инициализация пакета с помощью Poetry, запуск программы, отправка изменений на GitHub;
              • планирование архитектуры проекта (в т.ч. абстракция общей логики в движок и вынесение побочных эффектов), подключение дополнительных библиотек и импортирование, знакомство с Makefile;
              • настройка автоматической проверки качества кода через сервис CodeClimate и системы непрерывной интеграции (Continuous Integration, CI) Github Actions;
              • использование правильных наименований для функций и переменных, поиск и изучение документации.

              Стек: Python3, Poetry, Flake8, Git, Github Actions.

              Вычислитель отличий

                GenDiff — консольная утилита, определяющая разницу между двумя структурами данных в формате YAML или JSON, генерирующая отчет в трех разных видах (plain text, stylish и JSON).

                Полученные навыки:

                • построение архитектуры приложения и развитие алгоритмического мышления: чтение файлов, парсинг данных, рекурсивный обход древовидной структуры, создание форматеров для вывода разницы в различных форматах;
                • настройка работы с аргументами командной строки средствами встроенного модуля Argparse;
                • написание автотестов с использованием фреймворка Pytest (тестами покрыто 97 % кода), разработка через тестирование (Test-Driven Development, TDD);
                • настройка CI с запуском тестов;
                • реализация возможности работы пакета как библиотеки.

                Стек: Python3, Poetry, Pytest, Flake8, Git, Github Actions, Argparse, JSON, YAML.

                Загрузчик страниц

                  Page Loader — консольная утилита, которая скачивает страницы из интернета и сохраняет их на компьютере. Вместе со страницей она скачивает все ресурсы (картинки, стили и js) давая возможность открывать страницу без интернета. По такому же принципу устроено сохранение страниц в браузере.

                  Полученные навыки:

                    • закрепление знаний по работе с файловой системой, HTTP-запросами, исключениями и их обработкой;
                    • ознакомление с библиотекой для выполнения HTTP-запросов requests, изучение возможностей встроенных модулей os, pathlib и sys, контроль процесса выполнения кода с помощью логирования (модуль logging);
                    • продвинутое тестирование: создание манки-патчинг HTTP-запросов с помощью библиотеки requests-mock;
                    • выполнение парсинга страницы в DOM, замена ссылок внутри страницы с помощью библиотеки BeautifulSoup;
                    • оптимизация скорости загрузки ресурсов за счет применения приема многопоточного программирования (модуль threading) и настройка корректного отображения прогресс-бара загружаемых потоков (библиотека progress.bar).

                    Стек: Python3, Poetry, Pytest, Flake8, Git, Github Actions, BeautifulSoup, Requests, Requests-mock, Threading, OS, PathLib, SYS, Logging, ProgressBar.

                    Менеджер задач

                      Task Manager — система управления задачами. Она позволяет ставить задачи, назначать исполнителей и менять их статусы. Для работы с системой требуется регистрация и аутентификация.

                      Полученные навыки:

                      • способность создавать с нуля полноценные сайты, используя современные технологии (Django, Bootstrap);
                      • проектирование моделей и их отображение на базу данных: создание сущностей с помощью ORM и описание связей между ними (o2m, m2m);
                      • создание представлений с помощью Class-Based Views, реализация регистрации и аутентификации пользователей, создание форм для фильтрации данных;
                      • написание собственных миксинов для часто повторяющихся переопределений методов CBV;
                      • использование ресурсного роутинга, который позволяет унифицировать и упростить работу с типичными CRUD–операциями;
                      • интернационализация проекта: добавление RU перевода в англоязычный сайт;
                      • интеграция коллектора ошибок Rollbar.

                      Стек: Python3, Django, Django ORM, SQLite, PostgreSQL, HTML/CSS, Bootstrap, Unittest, Flake8, Git, Github Actions, Railway, Rollbar.

                    1. WebPromoExperts

                      Веб-аналитика: отслеживание эффективности интернет-рекламы
                      Апрель 2021 — Июль 2021 (3 месяца)

                      Прошел курс, состоящий из онлайн-занятий, домашних заданий и экзамена. Получил диплом с отличием, показав лучший результат в группе (277/337).

                      Темы занятий:

                      1. Введение в веб-аналитику. Принципы работы сервиса Google Analytics;
                      2. Цели, задачи, KPI;
                      3. Установка и настройка Google Analytics;
                      4. Google Analytics 4: принцип работы и настройка;
                      5. Отслеживание основных параметров;
                      6. Продвинутые настройки основных показателей в Google Analytics;
                      7. Настройка и установка GTM;
                      8. Дополнительные возможности Google Tag Manager.

                      Приобретенные навыки:

                      • Отслеживание основных параметров в Google Analytics;
                      • Настройка Google Analytics 4;
                      • Установка и работа с Google Tag Manager;
                      • Работа с Facebook Pixel и его событиями;
                      • Работа с отчетами Enhanced Ecommerce в Google Analytics;
                      • Создание отчётов, сводок и оповещений в Google Analytics;
                      • Анализ эффективности сайта, продаж на сайте и источников трафика;
                      • Проведение А/В тестов для повышения конверсии сайта;
                      • Использование Google Data Studio для визуализации данных;
                      • Юзабилити аудит на основе данных веб-аналитики.


                      🧑‍🎓 По завершению обучения на курсе успешно справился с тестированием Google и получил сертификацию Google Analytics.

                    Рекомендательные письма

                    • sowactei
                      коллега
                      Работала с Игорем в стартап проекте ELEMINT. Игорь - настоящий профи в бэкенд разработке на Python! В проекте он действительно выделился своими навыками и техническим пониманием. Быстро и качественно справлялся со всеми поставленными задачами. Меня поразило его искреннее желание и способность быстро разбираться в новых технологиях, библиотеках и эффективно применять их в работе. Постоянно проявлял инициативность не только в вопросах разработки, но и всего проекта в целом. Игорь талантливый разработчик с невероятным будущим и его вклад будет действительно ценным для любой команды!
                      Письмо написано 21 апреля 2024 в 21:35