kroopstorkroopstor

Макс Бузников

Backend · Бэкенд · Средний (Middle)
Не ищу работу
Возраст: 28 лет
Опыт работы: 5 лет и 6 месяцев
Регистрация: 10.04.2018
Последний визит: 1 месяц назад
Местоположение: Россия, Волгоград
Профессиональные навыки: ООП · PHP · Python · Docker · Laravel · Redis · Django · Linux · Kubernetes · CI/CD methodologies
Войдите, чтобы посмотреть контакты пользователя

Обо мне

Занимаюсь backend-разработкой на Python. Пилю апишки и воркеры для простых (и не очень) вебсервисов. Также, хорошо умею в PHP, есть большой опыт работы с Laravel. Покрываю свой код тестами, запускаю их в CI. Использую docker для локальной разработки и стейджинга, умею настраивать деплой проектов через Ansible из Gitlab CI.

Из реляционных СУБД работал с MySQL и Postgres (преимущественно через Django ORM, но без проблем напишу несложные SQL, могу заджоинить между собой записи из нескольких таблиц, сделать группировку и агрегацию, subqueries, select for update). Знаю, как устроены колоночные БД (есть опыт работы с Clickhouse для сбора событий).

Примерно понимаю, как работает Kubernetes, настраивал Helm-конфигурацию проекта для стейджинг-окружения. Работал с Protobuf и gRPC для коммуникации между сервисами..

Web++

Написал рекомендательную систему для интернет магазинов. Суть заключалось в следующем:

Собирался вкусовой профиль пользователя по его предыдущим покупкам и просмотрам. Затем, определялись значимые свойства товаров и подбирал для клиента другие товары, близкие к его вкусовым предпочтениям.

Для подбора релевантных товаров использовался алгоритм поиска ближайших соседей (KNN). Характеристики товаров преобразовывали в feature vector и по этим фичам производился поиск товаров, похожие на его вкусовой профиль. Для работы с датасетом и векторами фич использовали Pandas, реализация KNN –– из scikit-learn.

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

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

Поверх этого всего была создана система A/B-тестов, которая позволяет в реальном времени трекать эффективность тех или иных настроек персонализации в Grafana.

Из технологий, которые использовались на проекте –– Python 3.7, Django (для API и админки экспериментов), Postgresql, Clickhouse (для сбора событий), Celery на Redis для тяжелых фоновых задач.

Еще интересные задачи, которые решал в других проектах:

–– Интеграция платежного процессинга (Сбер)

–– Интеграция с курьерскими службами Gett, Bringo и агрегаторами Delivery Club, Яндекс.Еда для крупного продуктового ритейлера

–– Динамическая доступность товаров в конкретный промежуток времени (таймслот)

–– Система промокодов

–– Навык для Яндекс Алисы, чтобы делать заказы голосом

–– Полнотекстовый поиск с подсказками через Sphinx

Опыт работы

  • Мы делаем интернет лучше!
    Волгоград · От 10 до 100 сотрудников
    Программист
    Март 2020 — По настоящее время (11 месяцев)
  • ООО Вологорейт
    Волгоград
    Back-end Developer
    Август 2015 — По настоящее время (5 лет и 6 месяцев)

Высшее образование

  • ВолГУ

    Волгоградский государственный университет
    Волгоград · 382 выпускника
    Математики и информационных технологий
    Сентябрь 2011 — Июнь 2017 (5 лет и 9 месяцев)
    Бакалавр, Магистр