2,047,956open jobs
120,623companies
246,196added this week
Browse all
Salary
$23k per year (net)
Location
Hybrid (Saint Petersburg, Russia, 10am - 6pm)
Seniority
Senior · 3+ years exp

First seen by Alion on Oct 28, 2026.

Overview
Company
Impact
Profile match

DDQ

DDQ is a digital agency and web development studio based in Saint Petersburg, Russia, founded in 2011. The company specializes in creating complex websites, online stores, and corporate portals using platforms like 1C-Bitrix and WordPress, while also providing SEO, digital marketing, and UI/UX design services. It operates as a specialized agency that focuses on one project at a time to ensure deep business integration for clients in sectors such as logistics, healthcare, and education throughout Russia.

Обязанности:

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

О проекте :

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 для админок.

Чем интересна задача

Конвейер товарных данных. Магазины присылают прайс-листы и фиды в разных форматах (XLSX, CSV, XML/YML). Их надо распарсить, идентифицировать товары, сопоставить с карточками каталога, собрать ценовые предложения, отсеять мусор и ошибки, обновить цены и наличие. Всё это - регулярно, по расписанию, на больших объёмах. Задача сопоставления товаров нетривиальная и никогда не бывает «доделанной».

Фасетный поиск. В каталоге 3000+ атрибутов в 23 разделах, семь типов значений (булевы, числовые с единицами измерения, строки с размерами вида 500x100x200, даты), пять типов фильтров (чекбоксы, радио, range, больше/меньше, исключение) и их комбинации через И/ИЛИ. Всё это работает на нативном SQL и должно отвечать быстро.

SEO как инженерная задача. Витрина рендерится на сервере, поэтому скорость ответа backend напрямую влияет на позиции. Плюс ЧПУ-ссылки, sitemap, IndexNow, генерация SEO-полей, виртуальные категории, теги с

динамическими подборками по сохранённым фильтрам.

Честно о проекте

Мы не будем делать вид, что у нас идеальный код.

Архитектура самобытная. Это не Symfony и не Laravel, а собственный фреймворк поверх FastRoute, PHP-DI и компонентов Symfony. Роутинг автоматический, по файловой системе: URL /api/admin/seo/read соответствует файлу app/modules/admin/seo/entry/read-api.php . У модуля три типа точек входа: -web (HTML), -api (JSON) и -inner

(вызов из других модулей через роутер). Ядро приложения - Singleton + Service Locator. ORM нет, весь SQL нативный. Шаблонизатор публички - собственный, со своим синтаксисом.

Если вы работали только с классическими фреймворками, первые недели будут непривычными. Зато система прозрачная: нет магии, всё можно проследить руками.

При этом инфраструктура зрелая. Миграции и сиды на Phinx, unit- и acceptance-тесты с фабриками на все основные сущности, статический анализ (Psalm, PHPCS, PHPMD), Sentry, GitHub Actions с раздельными пайплайнами под production, staging и test, пять окружений с изолированными базами, включая песочницы для экспериментов с массовыми обновлениями данных.

Техдолг есть, и мы его признаём. Часть документации отстала от кода, местами накопилось дублирование, безопасность отдельных механизмов требует внимания. Мы ищем человека, который поможет это разгребать - планомерно, а не революцией.

Для нас особенно важно

Мы ищем разработчика, который не просто быстро пишет код, а понимает, как этот код будет жить в продукте

дальше. Нам важен человек, который умеет уважительно работать с существующей системой: не предлагает

«переписать всё с нуля», а последовательно улучшает её, не ломая работающий функционал, и понимает цену

изменения, которое затрагивает два бизнеса одновременно.

Мы нормально относимся к использованию AI-инструментов как к вспомогательным. Но нам принципиально

важно, чтобы разработчик обладал сильной собственной экспертизой: мог самостоятельно спроектировать

решение, написать код, объяснить архитектурный выбор, найти ошибку и оценить риски. Подход «код сгенерирован без понимания и проверки, без учёта архитектуры проекта и договорённостей внутри команды» нам не подойдёт.

Наш стек

Язык: PHP 8.3

Фреймворк: собственный - FastRoute, PHP-DI, компоненты Symfony (String, Mailer, Translation)

База данных: MySQL 8, PDO и mysqli (нативный SQL), миграции и сиды - Phinx

Кэш, сессии, очереди: Redis, собственная реализация очередей на Job-классах, воркеры

Интеграции: Guzzle, Диадок (ЭДО, OpenID Connect), Яндекс.Маркет, IndexNow

Работа с данными: PhpSpreadsheet, SimpleXLSX, opis/json-schema

Изображения: Imagick

Качество кода: PHPUnit, Psalm, PHP_CodeSniffer, PHPMD

Мониторинг: Sentry

Инфраструктура: Ubuntu, nginx, Selectel, GitHub Actions, раздельные контуры (production / staging / test)

Frontend (для контекста): Vue 3 + Ant Design Vue в админках, серверные шаблоны + Tailwind на витрине

Формат работы

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

Для кандидатов, которые привыкли к удалённой работе, хотим сразу обозначить важный момент. Мы понимаем желание брать несколько проектов одновременно, но также хорошо представляем объём задач в нашем продукте. Совмещать полноценную работу у нас с другими проектами, скорее всего, будет непросто.

Поэтому просим трезво оценивать свою загрузку и возможность уделять проекту достаточно внимания. Мы ищем человека, который сможет глубоко погрузиться в продукт и быть вовлечённым в его развитие.

Free account
Stop reading job ads. Get the ones that fit.
One free account turns this page into a shortlist built around your stack, your level and your pay.
Match on every job. Stack, seniority, pay and location, scored against your profile.
2,047,956 open roles. Read straight off company career pages, refreshed every day.
Unlimited applications. Every one you send is tracked in one place, on-site or on a company board.
3 tailored CVs a month. Rewritten for the exact job you are applying to. Included free.
Create a free account Continue with Google
Free forever. No card. Under a minute.

Your match

How well do you fit this role?
Two answers are enough for a real match. No account needed.
Check my fit
Answers stay in this browser until you create an account.

Recommended for you based on this role

Backend
Similar stack
Same company
Saint Petersburg
≈ $34k – $79k per year (Estimated) · In office · 5+ years exp · Moscow
C++
DevOps
CI/CD
Linux
Management
UML
Apply
≈ $23k – $52k per year (Estimated) · In office · Barnaul
PHP
SQL
PHP
Yii
Laravel
Symfony
Databases
MySQL
DevOps
Docker
Kubernetes
Management
Agile
Apply
≈ $32k – $57k per year (Estimated) · Remote (likely EAEU) · Saint Petersburg
Java
SQL
Java
Hibernate
Apache Tomcat
Databases
PostgreSQL
DevOps
Prometheus
Docker
Nginx
Grafana
Apply
Remote (likely EAEU) · Moscow
JavaScript
TypeScript
Node JS
Node JS
Nest.JS
Databases
PostgreSQL
AI/ML
Cursor
Claude Code
AI Agents
OpenAI Codex
Frontend
Next.js
React.js
DevOps
Rest API
CI/CD
Git
AWS
Docker
Kubernetes
Apply
Remote (likely EAEU) · Moscow
JavaScript
Java
Kotlin
TypeScript
Java
Spring Framework
Spring Boot
Hibernate
Gradle
Kotlin
Mockito
Databases
PostgreSQL
Apache Kafka
Frontend
Vue.js
Webpack
Angular
React.js
Mobile
JUnit
DevOps
Rest API
WebSockets
CI/CD
Jenkins
Git
Kubernetes
Linux
Unix
QA
Selenium
Apply
≈ $19k – $44k per year (Estimated) · In office · Saint Petersburg
JavaScript
C#
C#
.NET
Mobile
MVVM
DevOps
Jenkins
Git
Management
Scrum
Apply
$12k per year · In office · 1+ year exp · Saint Petersburg
Apply
$12k per year · In office · Saint Petersburg
Apply
$23k per year (net) · In office · Saint Petersburg
DevOps
Linux
VPN
VLAN
Wi-Fi
BGP
OSPF
MPLS
LAN
Apply
$50k per year (net) · In office · Full-Time · Saint Petersburg
Apply
See all jobs
This is one of many
2,047,956 more open roles from verified company boards, updated every day.