Александр Вертянкин
Портфолио
Красцветмет
Обязанности и достижения: - Разрабатываем внутренний сервис учета и автоматизации (стэк PHP, Laravel, Doctrine) - Работа в продуктовой команде цифровизации по методологии Kanban, с высокой вовлеченностью в бизнес процессы. - Осуществляю плавный переход проекта на подход DDD, рефакторинг старых частей кода. - Перевел весь проект с PHP 7.3 на PHP 7.4, с поддержкой composer 2, и обновлением всех зависимостей на последние версии, в том числе Laravel 5.6 -> 6(LTS). - Активно использую инструменты отладки и профилирования кода (используя Xdebug). - Завернул сервисы в Docker, настроил CI, с тестами и статическим анализом кода. - В большей степени занимаюсь разработкой нового функционала, так же решаю найденные баги. - Активно участвую в жизни продукта, в постановке задач и обсуждении их решений. Решаю пользовательские проблемы (техподдержка). - Пишу SQL запросы для получения аналитических данных.
Xdesign
О проекте: мобильное приложение знакомств, более 500 тыс. скачиваний в Google Play. Бэкенд приложения написан на Python, админ-панель - PHP. Выполняемые обязанности и ключевые компетенции: - Поддержка административной панели для мобильного приложения и внедрение нового функционала (PHP, Laravel). - Настройка Docker-окружения для работы сервисов (бэкенд мобильного приложения на Python, бэкенд админ-панели на PHP(доработка фронтенда на Vue), Kafka, Redis, Grafana, MariaBD, ClickHouse, Drone CI, ElasticSearch, MongoDB). - Настройка Docker Swarm (4 ноды). - Миграция высоконагруженных серверов с AWS на другую платформу. - Настройка репликации БД. - Миграция данных из MySQL (на AWS, без возможности сделать бэкап) в MariaBD к другому провайдеру с использованием ClickHouse как буферной зоны, что позволило с минимальными потерями (порядка 100 строк в таблице истории посещений) переключиться между БД.
Интернет-магазин совместных покупок
О проекте: - Высоконагруженный региональный интернет-магазин. - Сеть собственных серверов. - Устаревшая кодовая база, критичные проблемы в архитектуре взаимодействия. - Мобильные приложения под современные платформы. Выполняемые обязанности и ключевые компетенции: - Обеспечение отказоустойчивости системы (время непрерывной работы 97%). - Обеспечение безопасности компонентов (механизмы шифрования паролей, кодов подтверждения были модернизированы). - Оптимизация высоких нагрузок с использованием технологий балансировки нагрузки, кеширования и оптимизаций сложных запросов к MySQL базе данных. - Разработка GraphQL API: Документированный строготипизированный API со встроенной защитой от несанкционированного доступа написан на базе фреймворка Laravel. API дал возможность клиентам легко получать информацию и вносить в нее изменения. - Внедрение системы полнотекстового поиска Sphinx (обращение используя Sphinx API, а также SphinxQL) и его настройка. Поисковый движок значительно ускорил поиск товаров, выдавая до 20 тыс. позиций из 3,5 млн. актуальных, не более чем за 0,9 секунды. - Внедрение и эксплуатация системы контроля версий на базе Git (Github Flow), безопасная возможность тестирования экспериментальных функций на работающем сайте. - Профилирование и оптимизация кода по производительности и памяти. - Внедрение ясной системы документации программного продукта (Код стал проще – чтобы документировать меньше неочевидных моментов. Были разобраны все неочевидные места в старом коде). Достижения: - Первое повышение через 2 месяца работы (и 3 повышения за полтора года работы). - Хорошие отзывы со стороны руководства компании и персонала. - Постоянно выдвигались идеи по снижению трудо- и времязатрат взаимодействия персонала с системой, а также по увеличению прибыли магазина, которые были одобрены руководством и внедрены мной. - Снижение нагрузки на сервера, что позволило увеличить количество клиентов без увеличения мощности серверов.