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 для админок.
PHP-разработчик товарных каталогов
подготовься к отклику
ai-инструментыЧтобы адаптировать резюме под вакансию или составить сопроводительное письмо, загрузи резюме
описание
задачи
- Разработка и развитие модулей: каталог, карточки товаров, ценовые предложения, атрибуты и фильтры, кабинеты продавцов, биллинг
- Развитие конвейера обработки товарных данных: парсеры прайсов и фидов, алгоритмы идентификации и сопоставления товаров
- Оптимизация работы с базой: профилирование и переработка тяжёлых 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, запустить или установить что-то, перевести деньги — не соглашайся: это мошенничество.