Backend PHP разработчик

Уровень зарплаты: от 200 000 руб.
Местоположение: Россия, Москва и область (МСК +0ч)

Резюме: Backend PHP разработчик

О СЕБЕ:
PHP-разработчик с 6+ годами опыта разработки крупных веб-приложений. Занимался как созданием с нуля, так и развитием давно живущих платформ.
Уверенно работаю с Laravel, Symfony и Yii2, проектирую надежный и масштабируемый backend.
Улучшаю производительность, качество кода и архитектуру приложений (модульность, разделение бизнес-логики и инфраструктуры, DDD).
Быстро погружаюсь в новые домены и эффективно решаю сложные и ответственные задачи.

ОПЫТ РАБОТЫ:

Компания: МШСО

PHP-разработчик
Август 2021 — сейчас

Проект: Крупная образовательная SaaS-платформа для управления детскими садами по методике Монтессори
Стек: PHP 8.2, Laravel 10, Mysql, Docker, Nginx, Redis, REST API, Sentry, ELK (Elasticsearch, Logstash, Kibana), Filebeat, GitLab CI, PHPUnit, Git, Composer, Vue

Ключевые достижения:
- Успешно реализовал MVP продукта с нуля в сжатые сроки (~1.5 месяца), возглавляя разработку и отвечая за технические решения.
- Спроектировал масштабируемую архитектуру проекта, внедрив модульный подход и мультитенентность для упрощения дальнейшей разработки: каждый детский сад получил возможность гибкой настройки системы под собственные процессы.
- Ускорил время загрузки тяжелой странницы прогресса детей с 6 секунд до 700 мс (p95) благодаря оптимизации алгоритма построения иерархии прогресса обучающихся, получив линейную сложность вместо квадратичной и значительно снизив время выполнения на реальных данных (данные из метрик Sentry)
- Внедрил кэширование в Redis для высоконагруженных структур данных (деревья навыков и прогресса обучающихся), а так же событийную инвалидацию кэша при изменении данных, что сократило время отклика системы на 48% (данные из метрик Sentry).
- Автоматизировал процесс приема платежей, разработав модуль оплаты с гибкой системой тарификации (пробный период, скидки, промокоды, прогрессивная шкала цен от размера группы). Интегрировал API T-bank с возможностью быстрой смены платежного сервиса и индемпотентной обработкой коллбэков (защита от дублирования платежей). Внедрение модуля позволило полностью автоматизировать процесс оплаты и уйти от ручного учета
- Разработал механизм гибкой выгрузки отчетов о прогрессе обучения (Excel/PDF/CSV) с фильтрацией по категориям, периодам и пользователям, а так же асинхронной обработкой, что дало возможность удобно отслеживать динамику прогресса детей

Проект: Крупная EdTech-платформа для организации полноценного онлайн-обучения школьников
Стек: PHP 7.4, Yii2, Mysql, Docker, Nginx, Redis, RabbitMQ, REST API, Sentry, ELK (Elasticsearch, Logstash, Kibana), Filebeat, GitLab CI, PHPUnit, Git, Composer, Vue

Ключевые достижения:
- Разработал модуль интеграции с AmoCRM через API OAuth 2.0 с поддержкой двустороннего обмена данными. Реализовал автоматическую синхронизацию сделок и контактов, систему поиска и объединения дублей, событийную модель для актуализации данных и перемещения сделок по этапам воронки. Предусмотрел гибкую архитектуру (фича-флаги, режим синхронной/асинхронной работы, локального тестирования). Все это позволило автоматизировать большую часть рутинных операций по работе с CRM
- Разработал модуль тестирования учеников с гибким функционалом (поддержкой различных типов вопросов, рандомизацией вопросов, управлением лимитами попыток, историей попыток, настройкой системы оценивания) и автоматической проверкой результатов, что позволило проводить тестирование в автоматическом формате и снять рутинную нагрузку с преподавателей
- Оптимизировал ряд сложных SQL-запросов в модуле отчетов (статистика по урокам и материалам). Выявил узкие места, оптимизировал индексы и структуру связей, а так же внедрил кэширование часто запрашиваемых отчетов в Redis. Оптимизация БД ускорила обработку крупных выборок в 3-4 раза, а внедрение кэширования сократило среднее время ответа АРІ с 2-2.5 секунд до 200-300 мс (для анализа эффективности использовал EXPLAIN и метрики Sentry)
- Провел глубокий рефакторинг модуля учебного контента, что улучшило читаемость кода и заложило фундамент для быстрого внедрения новых функций

Проект: Внутренний проект компании для работы с аналитическими данными продуктов
Стек: PHP 8.2, Symfony 7, PostgreSQL, Docker, Nginx, Redis, REST API, Sentry, ELK (Elasticsearch, Logstash, Kibana), Filebeat, GitLab CI, PHPUnit, Git, Composer

Ключевые достижения:
- Изначально функционал аналитики был в виде модуля монолитного приложения. Выделил модуль из монолита в независимый микросервис. Реализовал миграцию исторических данных и синхронизацию через механизм двойной записи для обеспечения гарантий целостности данных
- Разработал основную архитектуру проекта, используя модульный подход и изоляцию доменного слоя от инфраструктуры для обеспечения масштабируемости и упрощения дальнейшей разработки
- Реализовал систему асинхронной обработки данных с использованием RabbitMQ, transactional outbox и идемпотентностью обработки сообщений для обеспечения гарантии доставки и отсутствия ошибок при дублировании сообщений

Проект: Внутренний проект для контроля административных процессов компании
Стек: PHP 8.1, Symfony 6, PostgreSQL, Docker, Nginx, Redis, REST API, Sentry, ELK (Elasticsearch, Logstash, Kibana), Filebeat, Swagger, GitLab CI, PHPUnit, Git, Composer

Ключевые достижения:
- Внедрил асинхронную загрузку данных из Redmine по API. Это позволило автоматизировать сбор информации (вместо ручной обработки)
- Провел рефакторинг запросов к БД, используя EXPLAIN ANALYZE. Ускорил работу ключевых эндпойнтов более чем в 4 раза: с 435 до 105 мс (данные из метрик Sentry)
- Реализовал функционал для отображения разделов административной панели в зависимости от роли и прав (сотрудник видит только свои инструменты), для обеспечения безопасности критичной информации
- Инициировал и внедрил обязательное покрытие функционала автотестами и увеличил покрытие с 46% до 78% (данные из отчета PHPUnit coverage)
- Реализовал для модуля работы с документами RESTful API (OpenAPI/Swagger) с фильтрацией. Таким образом сократил время на интеграцию фронтенда и исключил простои на уточнение требований

Компания: ООО «Л-СТАР»
PHP-разработчик
Июль 2020 — Август 2021

Проект: Крупный проект по отчетности о переработке бытовых отходов и мусора.
Стек: PHP 7.4, Laravel 7, REST API, Docker, Redis, Jira, PHPUnit, Swagger/OpenAPI, Nginx, Git, React

Ключевые достижения:
- Разработал основную архитектуру и логику проекта
- Производил оптимизацию работы проекта. Ресерчинг, тестирование разнообразных решений с целью выявления наиболее подходящих
- Работал с большими данными. Обрабатывал справочник адресов России ФИАС (~33 млн строк-адресов) для внутренних нужд проекта. Создавал сложную логику для автоматического обновления справочника внутри системы, учитывая множество нюансов.
- Решал много сложных и интересных задач. Придумывал решения как сократить время выполнения некоторых операций в десятки раз путем изменения работы логики или используемых в процессе решений
- Работал с большими файлами разных форматов (csv, xlsx). Занимался оптимизацией обработки файлов PHP-скриптом (десятки миллионов строк) для их корректного создания, чтения, записи при минимальных затратах оперативной памяти и времени обработки
- Занимался поддержкой и выкатыванием обновлений на ряд серверов (тест, препрод)
- Осуществление рефакторинга, использование паттернов проектирования, устранение дублирования и оптимизация кода для упрощения дальнейшей поддержки проекта
- Ревьюил код джунов и помогал в написании более чистого кода

Посмотрите похожие резюме

Backend Developer
Зарплата: 120 000 руб.
Web разработчик
Зарплата: 100 000 руб.