28 окт

PHP-разработчик товарных каталогов

ниже рынка на 54,0%
вакансия 139 000 ₽
в среднем 302 198 ₽
Загрузи резюме, чтобы видеть мэтчи с вакансиейЗагрузи резюме, чтобы видеть мэтч с вакой

подготовься к отклику

ai-инструменты

Чтобы адаптировать резюме под вакансию или составить сопроводительное письмо, загрузи резюме

описание

Costo.ru — агрегатор интернет-магазинов и маркетплейсов России: каталог товаров, сравнение цен от десятков магазинов, характеристики, рейтинги и отзывы. Под капотом — собственная платформа на PHP 8.3, на которой работает не один проект: помимо Costo на том же движке живёт второй бренд со своей базой, своим сервером и своей темой оформления. Каждое изменение в ядре затрагивает оба бизнеса — это накладывает отпечаток на то, как мы работаем. Проект состоит из трёх приложений: costo.ru — публичная витрина, рендерится на сервере (PHP + собственный шаблонизатор) admin.costo.ru — административная панель (Vue 3 SPA) seller.costo.ru — кабинет продавца (Vue 3 SPA) Backend обслуживает все три и отвечает как за HTML-рендеринг витрины, так и за REST API для админок.

задачи

  • Разработка и развитие модулей: каталог, карточки товаров, ценовые предложения, атрибуты и фильтры, кабинеты продавцов, биллинг
  • Развитие конвейера обработки товарных данных: парсеры прайсов и фидов, алгоритмы идентификации и сопоставления товаров
  • Оптимизация работы с базой: профилирование и переработка тяжёлых SQL-запросов, проектирование индексов и структур таблиц
  • Развитие REST API для админки и кабинета продавца
  • Развитие серверного рендеринга публичной витрины
  • Работа с фоновыми задачами: CLI-команды, Job-классы, очереди на Redis, воркеры
  • Интеграции с внешними системами: ЭДО (Диадок), Яндекс.Маркет, IndexNow, платёжные и почтовые сервисы
  • Написание миграций (Phinx) и тестов (PHPUnit)
  • Настройка и поддержка логирования, мониторинга и алертинга (Sentry)
  • Постепенное улучшение архитектуры и снижение техдолга — у нас нет иллюзий по поводу состояния некоторых частей системы
  • Участие в код-ревью, планировании задач и выработке архитектурных решений
  • Совместная работа с frontend-разработчиками и QA

требования

  • Опыт коммерческой разработки на PHP от 3 лет, уверенное знание PHP 8.x
  • Уверенная работа с MySQL: написание и оптимизация сложных запросов, чтение планов выполнения (EXPLAIN), индексы, блокировки, транзакции
  • Опыт работы с нативным SQL и PDO без ORM: подготовленные выражения, защита от инъекций, осознанная работа с транзакциями
  • Опыт работы с миграциями БД (Phinx, Doctrine Migrations или аналоги)
  • Опыт проектирования и разработки REST API
  • Опыт работы с Redis (кэш, сессии, очереди)
  • Опыт написания CLI-команд и фоновых воркеров, понимание особенностей долгоживущих PHP-процессов: потребление памяти, идемпотентность, поведение при падениях
  • Опыт обработки больших объёмов данных: пакетная обработка, потоковое чтение файлов, контроль памяти
  • Опыт реализации интеграций по HTTP (Guzzle или аналоги), работа с нестабильными внешними API: таймауты, ретраи, обработка ошибок
  • Опыт написания unit- и функциональных тестов (PHPUnit)
  • Знание Composer, Git
  • Умение читать и анализировать логи backend-сервисов
  • Способность разбираться в чужом коде и дорабатывать существующую систему без полного переписывания
  • Умение самостоятельно разбираться в сложных задачах, принимать решения и аргументировать выбранный подход
  • Ответственное отношение к архитектуре, качеству кода и долгосрочной поддержке продукта
  • Будет плюсом: Опыт работы с агрегаторами, маркетплейсами, крупными каталогами или e-commerce; Опыт написания парсеров прайс-листов и товарных фидов (YML, XML, XLSX, CSV), задач сопоставления и дедупликации товаров; Опыт реализации фасетного поиска и фильтрации по большому числу параметров; Опыт постепенного рефакторинга легаси: выделение слоя доступа к данным, снижение связанности, покрытие тестами; Знание Doctrine DBAL/ORM — рассматриваем поэтапное внедрение; Опыт работы со статическим анализом (Psalm, PHPStan); Опыт работы с очередями (RabbitMQ, Kafka) — на случай развития текущей очереди на Redis; Опыт настройки CI/CD (GitHub Actions), Docker; Опыт работы с системами мониторинга (Grafana, Prometheus, Sentry); Понимание SEO для крупных каталогов и серверного рендеринга; Опыт работы с мультитенантными платформами

условия

  • Мы работаем в офисе по понедельникам и пятницам, ориентировочно с 10:00 до 17:30.
  • Офис находится в собственности компании — это не арендное пространство. Мы постарались сделать его максимально комфортным и уютным: скорее он напоминает небольшой бутик, чем классический офис.

Если просят выйти из iCloud, прислать код из SMS, запустить или установить что-то, перевести деньги — не соглашайся: это мошенничество.

Если просят выйти из iCloud, прислать код из SMS, запустить или установить что-то, перевести деньги — не соглашайся: это мошенничество.