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

Миддл • Сеньор
Информационные технологии • Разработка • PHP • Laravel • Symfony • Yii • Go • Gin • Gorilla • Fullstack • Backend • Frontend • AWS • Amazon S3 • JavaScript • TypeScript • React • React Native • Vue.js • Nest • Nuxt.js • Bash • Svelte • Angular
Релокация • Удаленная работа • Частичная занятость • Работа в офисе
Опыт работы какой-то есть
О себе

На данный момент PHP разработчик.

Мои компетенции и опыт

Senior Backend Engineer, специализирующийся на PHP, с опытом создания и масштабирования высоконагруженных распределённых систем в сфере гейминга и беттинга. Имею опыт проектирования микросервисов, оптимизации производительности backend-систем, реализации асинхронной обработки и повышения надёжности систем. Обладаю прочной базой в области конкурентного программирования на Go, интеграций на основе Kafka и RabbitMQ, оптимизации баз данных, observability, а также миграции монолитных приложений в масштабируемые сервис-ориентированные архитектуры.

Места и проекты:

1. Marfatech (окт нужен доступ к резюме наст. вр.) PHP - разработчик

  • Разрабатывал backend-сервисы для высоконагруженной онлайн-гейминговой платформы, обслуживающей несколько казино-брендов.
     
  • Рефакторил пайплайн обработки запросов, внедрив конкурентное выполнение с использованием горутин, передачи контекста (context propagation) и errgroup, что снизило среднюю задержку ответа на ~25-35% для высоконагруженных эндпоинтов.
     
  • Реализовал внутренний пул воркеров (worker pool) для некритичных асинхронных задач, предотвращая блокировку запросов и защищая нижестоящие сервисы от перегрузки, при этом снизив пиковую утилизацию ресурсов на ~30%.
     
  • Разрабатывал и поддерживал сервисы Billing и Engagement, обрабатывающие ~10K транзакций/день и пользовательские события, внедрял новый бизнес-функционал, непрерывно улучшая существующую функциональность.
     
  • Мигрировал бизнес-логику из модульного PHP-монолита в микросервисы на Go, разделяя бизнес-домены и улучшая владение сервисами (service ownership), поддерживаемость и независимость релизов сервисов.
     
  • Оптимизировал получение игровых сессий за счёт внедрения кэширования на Redis и оптимистичных блокировок (optimistic locking), снизив нагрузку на базу данных на ~40% и предотвратив конфликты при конкурентном доступе к сессиям.
     
  • Реализовал интеграцию Kafka-продюсера для Smartico CRM, включая публикацию сообщений, обработку сбоев и надёжную доставку событий, обеспечив асинхронное взаимодействие между гейминговой платформой и CRM-системой.
     
  • Проектировал запросы Elasticsearch для персонализированных рекомендаций игр и специфичных для бизнеса правил сортировки. Реализовал кастомные анализаторы Elasticsearch для сложных требований поиска игр.
     
  • Оптимизировал сложные MySQL-запросы, декомпозируя дорогостоящие JOIN-операции на более простые запросы, что снизило время выполнения для высоконагруженных эндпоинтов.
     
  • Внедрил инструментирование OpenTelemetry для backend-сервисов, улучшив трассировку запросов и упростив расследование проблем в production.
     
  • Писал unit- и интеграционные тесты для backend-сервисов, покрывающие бизнес-логику, API-обработчики и взаимодействие с базой данных.
     
  • Технический стек: Go, Fiber, Gin, PHP, Symfony, JavaScript, TypeScript, React, MySQL, Redis, Kafka, RabbitMQ, Elasticsearch, ClickHouse, WebSockets, Grafana, Graylog, Jira, Confluence, Docker, Kubernetes, Rancher, OpenTelemetry, Victoria Metrics, REST API, gRPC, GitLab CI/CD, Rancher, Claud, Codex

2. NovaBev Group / Winelab (сент нужен доступ к резюме окт нужен доступ к резюме PHP - разработчик

Ведущий разработчик кастомной разработки. Сеть супермаркетов NOVABEV GROUP (выручка ~168 млрд ₽).
 

Winelab ecom BFF (Laravel → SAP Hybris)

  • Дорабатывал BFF витрины: контракты и Guzzle-клиенты к Hybris, кэш ответов (Redis), Laravel Octane.
  • Эндпоинты главной и брендов (баннеры), персональная цена, каталог (в т.ч. композиция источников), корзина/чекаут, лояльность, ваучеры, начисления по чекам.
  • Покрыл прокси feature-тестами и e2e к Hybris (ваучеры и критичные сценарии), чтобы ловить регресс контракта
     

Бонусный процессинг

  • Админка лояльности (Laravel, LDAP/JWT): карточка клиента, покупки, чеки, история бонусов.
  • Интеграция с SET10 Loyalty: начисление, списание, возврат, блокировка, сгорание, пролонгация — фильтры и сверка для операторов, без прямого доступа в кассовый контур.


Система управления рекламой на кассах (~4 000 устройств)

  • Разделил Laravel-монолит на микросервисы: UCS (ядро, админка, плейлисты, SLA, мониторинг), CDS (доставка по SSH: ping, файлы, reboot), VGS (FFmpeg, ролики Full/Sell, выкладка в S3/MinIO). VGS многопоточная генерация. CDS многопоточный механизм доставки конента. 
  • Связал сервисы через Kafka (send-task / generate-video inbox→outbox): асинхронная доставка задач на кассы и обратно статус в ядро.
  • MVP по регионам РФ: разные конфиги/расписания, плейлисты «на завтра», заглушки, ночной reboot.
  • Посчитал канал и мощности Yandex Cloud под SLA доставки роликов на кассы — чтобы уложиться в окно и не переплатить за VM/трафик.
  • Документация и передача контура инфраструктуре (воркеры, cron, топики, SSH, S3).
  • LDAP + JWT (AD), 2FA через Multifactor - единый вход внутренних пользователей.
     

Стек: PHP, Laravel, Symphony, Go, Gin, Git, Kafka, Graylog, React, LDAP, AD, REST API, JWT, SSO, JS, TS, SOLID, KISS, DRY, FFMPEG, MULTIFACTOR, GITLAB, VPN, Cisco, SSH, PostgreSQL, MSSQL, Cache, Redis, Docker, Kubernetes, Linux, Ububntu, Jira, Confluence, Composer, Package Registry, CI/CD, Minio, S3, Unit Tests, Microservices, XDebug, Clickhouse, Nginx, Hybris, Swagger, Yandex Cloud, S3

 

3. Qsoft (фев нужен доступ к резюме сент нужен доступ к резюме Fullstack PHP / GO разработчик

Проект: АптекиПлюс - крупная российская онлайн-сеть аптек с более чем нужен доступ к резюме торговых точек.

Разработка и развитие e-commerce платформы на базе микросервисной архитектуры. Работал преимущественно с сервисом управления остатками товаров (Stock), а также с каталогом, категориями, поиском и интеграциями с внешними системами.

Основные задачи и достижения:

  • Разрабатывал и поддерживал микросервисы на PHP распределённой архитектуре, включая Stock (остатки товаров), Master (каталог и категории), Retail (торговые точки), Notification, Auth и User.
     
  • Вел разработку сервиса Stock на Go (Gin): реализовывал команды агрегации остатков товаров, интеграции с другими микросервисами через Kafka и REST API, обеспечивал обмен данными и документировал контракты и сценарии взаимодействия между сервисами.
     
  • Реализовал синхронизацию дерева товарных категорий через Kafka и их хранение в PostgreSQL с использованием расширения ltree. Интегрировал работу с иерархией через специализированный пакет и реализовал отображение вложенного дерева категорий на нужен доступ к резюме
     
  • Писал сложные поисковые запросы и агрегации в Elasticsearch для товарной выдачи и функциональностей «Получить сегодня», «Акционные товары», «Уценённые товары», а также фасетной фильтрации по цене, производителю и категориям.
     
  • Развивал систему фильтрации каталога: реализовывал новые фильтры по форме выпуска и аптекам, а также их отображение и бизнес-логику на фронтенде с использованием нужен доступ к резюме
     
  • Разработал блок «Наличие в аптеках» в карточке товара: выбор аптек для заказа, отображение ближайшей даты доставки, учёт доступности товара для заказа и географический поиск ближайших торговых точек.
     
  • Реализовал интеграцию с платёжным провайдером YooKassa, включая оформление возвратов по отдельным товарам в заказе.
     
  • Выполнял миграцию функциональности и сущностей из исторического сервиса Master в отдельные доменные сервисы, в том числе для отзывов и географических точек. Обеспечивал межсервисное взаимодействие через gRPC и API.
     
  • Интегрировал обмен данными о товарах с внешним сервисом партнёра через SOAP, документировал интеграционные контракты и сценарии взаимодействия.
     
  • Разрабатывал и поддерживал интерфейсы интернет-магазина: фасетные фильтры, модальные окна выбора аптек и навигацию по дереву категорий. Работал с SEO-метаданными, корректностью URL и отображением дат.
     
  • Работал в команде по Agile/Kanban: участвовал в разработке, сопровождении и развитии микросервисной платформы, взаимодействовал с командами смежных сервисов.
     
  • Стек: PHP, Laravel, Go, Gin, нужен доступ к резюме , Nuxt 3, JavaScript, PostgreSQL, ltree, Elasticsearch, Kafka, gRPC, REST API, SOAP, Redis, RabbitMQ, Protobuf, Docker, Kubernetes, Rancher, GitLab CI/CD, ELK, Graylog, Grafana, Unit Testing, Swagger, Confluence, Agile/Kanban, Kracked, Redis
     

Проект: Yorcom - интернет-магазин диванов и мягкой мебели
Главный разработчик - полный цикл: архитектура, CRM, API, интеграции, CI/CD

  • Спроектировал архитектуру «админка + API + отдельный frontend»: CRM на Inertia/Vue 3, витрина на  нужен доступ к резюме  с ISR/SSR и on-demand revalidate карточек, главной и каталога — страницы отдаются как статика, контент обновляется очередями после правок в админке.
     
  • Полностью закрыл товарный контур в CRM: категории, продукты и варианты, материалы/цвета/тона, произвольные характеристики, группировка SKU, комплекты и «похожие товары».
     
  • Сделал загрузку медиа в Yandex Object Storage: сжатие в WebP (оригинал + preview), видео/GIF, drag-and-drop порядок, привязка фото к продукту и к варианту (ткань/цвет).
     
  • Реализовал блочный rich-контент карточки товара (логика как у Ozon): набор виджетов, черновики, превью, публикация в карточку.
     
  • Собрал фасетные фильтры каталога: цена, категория, тон, материалы, габариты, доп. размеры, параметры + сортировка (цена, новизна, популярность) с учётом цены группы пользователя.
     
  • Вывел разные прайсы для розницы и опта: группы пользователей, свои цены на варианты, скидки (заказ / группа / купон / накопительные), избранное и корзина (в т.ч. для гостя).
     
  • Настроил auth между доменом и поддоменом: Laravel Sanctum, cookie authorization, SMS-код (Exolve), email и OAuth (VK, Яндекс, Google, Одноклассники), Google reCAPTCHA, раздельная регистрация физлица и юрлица.
     
  • Интегрировал оплату: ЮKassa, эквайринг Тинькофф, рассрочка Тинькофф Кредит.
     
  • Интегрировал доставку крупногабарита с предварительным расчётом: СДЭК, Деловые линии, Яндекс Доставка (тарифы, ПВЗ, интервалы, расчёт корзины). Адрес - Яндекс Геокодер.
     
  • Собрал воронку заказа для менеджера: статусы (новый → согласование → склад → доставка / возврат), кастомные представления списка заказов, журнал действий (остатки, правки, входы), RBAC (Spatie).
     
  • Реализовал лояльность: бонусы % от заказа, потолок списания, транзакции, сгорание; отзывы с оценкой и рейтингом в карточке; рекомендации (related + комплекты).
     
  • Ускорил каталог: Redis-кэш тяжёлых выборок (категории/витрина), очереди на revalidate и фоновые задачи.
     
  • Поднял инфраструктуру: Docker (app/nginx/redis), GitLab CI (сборка образа, деплой), бэкапы (Spatie), дашборд посещаемости через Google Analytics Data API.
     
  • Стек: PHP, Laravel, нужен доступ к резюме , Vu3, PostgreSQL, Redis, Docker, GitLab CI, нужен доступ к резюме (ISR/SSR витрины), Yandex Object Storage (S3), Sanctum.

4. Freelance

a) Большая перемена / Движение первых (Fullstack PHP / GO)

  • Спроектировал low-latency Game API на Go/Fiber (fasthttp, prefork): прохождение сценариев и вопросов с pers-user lock, Redis-очередями и MongoDB - чтобы пик конкурса не упирался в PHP-монолит.
     
  • Сделал экспортные отчёты по тестовым этапам (логика / «горизонт») в CSV для оргкомитета полуфинала и финала и отдал их в основной бэкенд по внутреннему API.
     
  • Реализовал поиск пользователей в админке на Sphinx (реальтайм-индекс): фильтры по ФИО, email, роли, конкурсу, школе и статусам верификации - без полных сканов PostgreSQL.
     
  • Оптимизировал тяжёлые выборки участия и админские выгрузки: native SQL, курсорный CSV пачками, индексы под конкурсы, роли и статусы участия.
     
  • Интегрировал внешний контур тестирования Profline/МГУ в конкурсные этапы (создание сессии, колбэки, попытки, локи) и подключение Антиплагиата к проверке работ.
     
  • Собрал аналитические выгрузки для админки: персональные данные, баллы, этапы, команды, тесты, эссе - для разбора полуфиналов и финалов.
     
  • Настроил Kafka-шину между Большой переменой, Движением первых и озером данных: изменения профиля, теги, регистрация, участие, удаление, синхронизация школ и муниципальных образований (retry и алерт при сбое).
     
  • Разработал игровой API на Go (Fiber, MongoDB, Redis, per-user lock) под пиковые прохождения сценариев и тестов; выгрузки результатов логики/горизонта для полуфинала и финала забирает основной Symfony-бэкенд.
     
  • Поднял единый OAuth2-сервер на домене платформы: вход без повторной аутентификации в кабинет, игру и сервисы партнёров (Движение первых; другие клиенты - по OAuth redirect).
     
  • Разбирал прод-инциденты: SSR-лендинг ( нужен доступ к резюме ) за несколькими репликами и nginx/LB (keep-alive/upstream), срывы выгрузок, неверные статусы участия в конкурсах, мероприятиях и тестах.
     
  • Стек: Go, Fiber, PHP, Symfony, Laravel, React, нужен доступ к резюме , JavaScript, TypeScript, REST, Swagger, Docker, Nginx, PostgreSQL, MongoDB, MySQL, Redis, Kafka, Elasticsearch, Sphinx, OAuth2, JWT, GitLab CI, Jira, Confluence

b) Collect Group / Collect & Pay / Collect & Exchange (PHP)

  • Переписал Collect & Pay с legacy на отдельный Laravel-сервис (DTO, репозитории, контракты): счета, валюты, онбординг компаний и source of funds.
     
  • Реализовал полный lifecycle deposit / exchange / withdraw: расчёт комиссии (% + fixed), лимиты, статусы Pending → Approve/Reject/Done и резервирование средств через on_hold, чтобы нельзя было дважды потратить баланс до решения compliance.
     
  • Собрал админский контур подтверждения операций (документы на S3, статусы файлов, approve/reject менеджером) и журнал транзакций.
     
  • Добавил крипто-провайдеры ETH, Bitcoin, BSC и TRON: персональные депозитные адреса, QR, учёт tx hash.
     
  • Интегрировал on-chain Wallet Factory по ABI (createWallet, batchCreateWallets, checkBalances) через нужен доступ к резюме и TronAPI - выпуск адресов и сверка балансов ERC-20 / TRC-20 без кастодиального «ручного» учёта.
     
  • Расследовал прод-инцидент: USDT (TRON) зависли на смарт-контракте (~$25k); совместно с регулятором вернули клиенту большую часть суммы и усилили контроль вывода (multi-admin crypto approval).
     
  • Подключил Sumsub KYC (токены, webhook, статусы клиента) как обязательный слой до финансовых операций.
     
  • Закрыл finding PCI DSS по загрузке файлов: whitelist типов, хранение на S3 вне приложения, без исполнения загруженного контента.
     
  • Интегрировал Mailgun (транзакционные письма) и Coinbase rates с кэшем пар (hot 5 мин + reserve на отказ API).
     
  • Добавил 2FA по TOTP с QR для кабинета.
     
  • Стек Backend: PHP, Laravel, Laravel Nova, REST API, JWT, OpenAPI/Swagger, Percona / MySQL, Redis, Nginx, Docker, Portainer.
  • Стек Frontend: React, TypeScript, нужен доступ к резюме , Tailwind CSS, shadcn/ui, Zustand, React Hook Form, Zod.
  • Интеграции: AWS S3, Mailgun, Sentry, Sumsub, Coinbase, Tron / EVM / Bitcoin.
  • Auth: 2FA TOTP, CASL (office).

c) ООО Поставлено Софт (Fullstack PHP / Go)

Сервис аналитики и рекомендаций по поставкам остатков на склады Wildberries и Ozon (FBO): учёт остатков, заказов, продаж и расчёт, куда и сколько везти.

  • Разрезал монолит на REST API (JWT + OpenAPI/Swagger) и Vue-клиент: кабинет, онбординг проекта, расчёт поставок и аналитика ходят в backend по API, а не через серверный HTML
     
  • Собрал ЛК расчёта поставок на AG-Grid: настраиваемые колонки, кластеры/округа, рекомендации по SKU, сценарии «производство» и «поставка» для WB и Ozon.
     
  • Добавил метод «Гео-расчёт» рядом с «Заказы складов»: распределение заказов по регионам и скорости доставки, чтобы считать поставки на новые склады, которых нет в истории отгрузок.
     
  • Закрыл контур B2B: регистрация, логин (телефон, SMS, Telegram), создание проекта и токенов маркетплейса, прогресс первой синхронизации кабинета.
     
  • Интегрировал AmoCRM: лид и контакт после регистрации, двусторонняя синхронизация активности клиента, webhook’и и заявки на восстановление доступа.
     
  • Перенёс админку на шаблон Geeks, вынес базовые UI-компоненты (формы, таблицы, модалки) и pulpit мониторинга: логи, джобы, склады/кластеры, токены MPSTATS, remote-запуск синков, вход от лица пользователя.
     
  • Перевёл узкое место сбора данных с API маркетплейсов и парсингов в Go-воркеры (конкурентные запросы, чанки, очереди): синхронизация остатков, заказов, продаж, складов и тарифов WB/Ozon плюс статистика MPSTATS - без блокировки PHP-монолита.
     
  • Вынес общую конфигурацию между кабинетом и админкой: логирование, шифрование токенов API маркетплейсов, склады и округа, impersonation.
     
  • Покрыл тестами расчёт поставок (формулы доставки/конверсии) и ключевой сценарий запуска кабинета; агрегации по остаткам/заказам/продажам - чтобы тяжёлые выборки не считались «в лоб» на каждую рекомендацию.
     
  • Реализовал посадочную страницу сайта в соответствии с дизайном
     
  • Стек: PHP, Laravel, Go, Vue, Pinia, Vue Router, AG-Grid, JWT, Redis, Swagger/OpenAPI, AmoCRM, Docker

d) ООО Геосервис (PHP)

Мониторинг транспорта и инструментов
Стек: PHP, Symfony, API Platform, Vue, Leaflet, MySQL, Docker, Traefik, Wialon, JWT

  • Спроектировал backend мониторинга транспорта и инструментов: компании, ТС, сотрудники, геозоны, GPS-трекеры, материалы, техосмотры.
  • Интегрировал Wialon: синхронизация юнитов, телеметрия по расписанию, группы, трейлеры/прицепы, контроль пропажи сообщений с устройств.
  • Реализовал учёт инструментов и BLE-меток: выдача/снятие с сотрудника и инструмента, активация маяков, привязка к Wialon.
  • Собрал карту и геозоны на Leaflet (включая draw/KML/clustering) и REST через API Platform + JWT.
  • Добавил time tracker, синхронизацию пробега и сервисные интервалы ТС; уведомления по почте.

Штрафы и аналитика
Стек: PHP, Symfony, Vue, MySQL, Redis-кэш отчётов, Docker, Platon, ГИБДД, Wialon, Telegram, Excel

  • Реализовал контур штрафов: импорт из ГИБДД Online, Паркоматика и Платон, дедупликация по постановлению и ТС, статусы оплаты, координаты нарушения.
  • Собрал аналитику по парку: дашборд (диаграммы/графики), топ ТС по штрафам, кэш тяжёлых отчётов, выгрузка в Excel.
  • Интегрировал Платон / федеральные дороги: синхронизация начислений и детализации, разбор ошибок API, фоновая обработка через Messenger.
  • Настроил ежедневный сбор статистики по штрафам и алерты в Telegram при сбоях импорта и генерации отчётов.
  • Связал штрафы с объектами мониторинга (госномер / Wialon unit) и отчётами по поездкам для сверки пробега и платных дорог.
     

Заправочная станция
Стек: PHP, Symfony, Vue 3, TypeScript, Vite, Tailwind, MySQL, Docker, JWT, DomPDF, нужен доступ к резюме

  • С нуля спроектировал и реализовал систему управления АЗС: станции, резервуары, колонки, пистолеты, смены операторов и кассовые операции.
  • Реализовал полный контур продаж топлива: розница, опт/дилеры, талоны, оплаты, статусы смены (открытие → показания пистолетов → инкассация).
  • Собрал склад и закупки: приёмка, уровни резервуаров (dipping), перекачка между танками, сверка остатков и инвентаризация.
  • Добавил HR-контур станции: сотрудники, посещаемость, зарплаты, отпуска, займы, уровни должностей.
  • Сделал печать чеков, штрихкоды, PDF/Excel-отчёты и дашборды по выручке и марже.
  • Вынес API (DTO + статусы сущностей) и фронт на Vue 3 / TypeScript / Tailwind с нуля, с JWT и ролевой моделью.

Общий стек: PHP, Symfony, JavaScript, Vue, TypeScript, Vite, Bootstrap, Tailwind, Leaflet, Pinia, Vuex, Axios, нужен доступ к резюме , JWT, Swagger, API Platform, Messenger, Scheduler, Mailer, Graylog, Telegram, PhpSpreadsheet, DomPDF, Docker, MySQL, Nginx, Traefik, Supervisor, GitLab CI, ProxySQL, reCAPTCHA, Postman

e) нужен доступ к резюме / Genshindrop (Fullstack PHP)

  • Реализовал полный цикл открытия кейсов (Vue + Laravel API): кэш состава кейса, Redis-lock против гонок и кулдаун повторного открытия.
     
  • Спроектировал ежедневные раздачи с случайным выбором победителей и исключением недавних выигрышей; списки раздач, участников и join вынес в Redis, чтобы выдерживать пики участия без постоянных тяжёлых запросов в БД.
     
  • Вынес ключевые пользовательские сценарии из JSON-в-HTML в REST-контракт (раздачи, инвентарь, обмен, открытие кейсов) совместно с фронтендом - без полной переписки монолита.
     
  • Реализовал обмен игровых предметов на сайте (API, блокировки, комиссия), чтобы увеличить удержание аудитории после дропа.
     
  • Собрал в админке шаблоны и пресеты наборов призов для раздач и квестов, сократив ежедневную ручную сборку акций.
     
  • Расширил платёжный контур: единый слой MultiPay и подключение дополнительных PSP (карты, e-wallet, crypto) с админкой способов оплаты.
     
  • Написал отдельный Laravel-сервис Telegram-ботов с long polling и очередями для GenshinDrop и нужен доступ к резюме : уведомления о выигрышах, привязка аккаунта, верификация и коммуникации.
     
  • Поднял stage-окружение и GitLab CI для сборки Docker-образов и деплоя; вынес логи ботов в централизованный Graylog (GELF).
     
  • Покрыл feature/functional-тестами раздачи, обмен, депозиты и выводы.
     
  • Собрал блог на Strapi + Nuxt и поиск по контенту на Meilisearch; инфраструктуру (Nginx, Meilisearch, Supervisor, fail2ban) описал Ansible-playbook’ами.
     
  • Стек: PHP, Laravel, JavaScript, Vue, jQuery, Livewire, Nuxt, Strapi, Meilisearch, OpenSearch, Graylog, MongoDB, Docker, MySQL, MariaDB, Nginx, Redis, S3, Minio, Cloudflare, Telegram, AdminLTE, GitLab CI, Ansible, Supervisor, Notion, Nginx
     


Интересные кандидаты