Текст заказа
Zvenum.Sell — система управления заказами (OMS) для интернет-продавцов. В ней каталог, цены поставщиков, заказы, оплаты, склады, доставка, документы и витрина магазина. Ищем техлида: вы отвечаете за архитектуру, команду и прод, а самые сложные части пишете сами.
О продукте
Система уже работает в проде. У каждого продавца свой экземпляр со своей базой. Всё, чем продавцы отличаются друг от друга, задают настройки, драйверы и модули, а код у всех один.
Что уже сделано:
модульный монолит: больше 30 компонентов, границы между ними проверяет CI;
больше десяти интеграций: перевозчики и склады 3PL (Деловые Линии, ПЭК), ЮKassa, «Моё дело», Авито, Яндекс Метрика, телефония;
API с вебхуками для внешних систем;
первые модули: блоки витрины со своими данными и настройками;
больше 1000 тестов, статический анализ, проверка миграций на трёх СУБД;
решения записаны в ADR, для ИИ-агентов в репозитории есть правила и навыки.
Задачи
Отвечать за архитектуру: границы компонентов, данные, интеграции, производительность. Решения записывать в ADR.
Превращать код магазина в продукт для многих продавцов: настройки вместо правок кода, модули, API.
Вести команду: ставить и декомпозировать задачи, расставлять приоритеты, держать сроки, проводить 1:1, нанимать и растить разработчиков.
Ревьюить MR и держать планку качества: тесты, статический анализ, проверки границ в CI.
Отвечать за прод: выкладки, мониторинг в Sentry, инциденты, откаты и разборы.
Переводить запросы продавцов в технические решения и называть их цену и риски.
Выстраивать работу команды с ИИ-агентами: правила проекта, навыки и проверки, которые ловят ошибки агентов.
Писать код там, где ошибка стоит дороже всего: оформление заказа, оплаты, остатки, интеграции.
Стек
Бэкенд: PHP 8.4, Laravel 13, Octane на RoadRunner, MariaDB, Redis, Horizon, Meilisearch, Reverb, Gotenberg.
Панель: Filament 5, Livewire 4.
Витрина: Inertia 3, React 19, TypeScript, серверная отрисовка (SSR), Storybook, Playwright.
Качество и инфраструктура: PHPUnit, PHPStan (Larastan), deptrac, Rector, OpenAPI, Sentry, Docker, GitLab CI.
Требования
Коммерческий опыт на PHP от 5 лет, на Laravel от 3 лет. Последние два года работаете на актуальных версиях.
Руководили командой от трёх разработчиков не меньше года: ставили задачи, ревьюили код, отвечали за сроки и результат.
Ваш код работал в проде с деньгами и нагрузкой: заказы, платежи, остатки. Разбирали инциденты и доводили разбор до изменений.
Проектировали интеграции с внешними API: очереди, повторы, идемпотентность, вебхуки, работа при недоступном партнёре.
Знаете MySQL или MariaDB глубже ORM: планы запросов, индексы, транзакции, блокировки.
Строили проверки качества: тесты, статический анализ и CI, которые не пропускают слабый MR.
Понимаете безопасность веб-приложений: права на сервере, инъекции, XSS, CSRF, секреты.
Читаете React и TypeScript на уровне ревью: SSR, производительность, контракт с API.
Каждый день работаете с ИИ-агентами (Claude Code, Codex, Cursor): ставите задачу, проверяете результат и отвечаете за него как за свой код.
Будет плюсом
опыт в SaaS или продукте для многих клиентов;
OMS, WMS, интеграции с маркетплейсами и перевозчиками;
Filament, Livewire, Inertia;
Octane, RoadRunner или Swoole: долгоживущие процессы и утечки состояния между запросами;
модульный монолит с автоматической проверкой границ;
Meilisearch или Elasticsearch;
настройка ИИ-агентов под проект: правила, навыки, хуки, MCP.
Вам не подойдёт, если
вы давно не пишете код и хотите только управлять;
тесты, статический анализ и ревью для вас тормозят разработку;
вы не готовы отвечать за прод: выкладку, инцидент, откат;
на любую проблему вы предлагаете микросервисы, Kafka или переписывание с нуля;
вы не пользуетесь ИИ-ассистентами или принимаете их код не читая.
Условия
офис/гибрид/удаленно, полная занятость;
официальное трудоустройство;
конкурентная зарплата и премии по результатам;
испытательный срок 3 месяца;
влияние на архитектуру и развитие продукта.
Как нанимаем
Отклик с заданием ниже.
Предварительное интервью, 30 минут.
Техническое интервью, 90 минут: разбор вашего отклика, вопросы, ревью кода, задача на PHP, проектирование интеграции.
Оффер.
Как откликнуться
В отклике пришлите:
Сопроводительное письмо, которое начинается со слова «Вебхук».
Разбор кода ниже: три ошибки, из-за которых продавец потеряет деньги или товар, и как вы исправите каждую.
Ссылку на код, который вы написали сами: репозиторий на GitHub, GitLab или ваш merge request. Если весь ваш код закрыт NDA, вместо ссылки опишите в 3–5 предложениях архитектурное решение, которое вы приняли сами, и чем за него пришлось заплатить.
final class PaymentWebhookController
{
public function __invoke(Request $request): Response
{
$order = Order::find($request->input('object.metadata.order_id'));
DB::transaction(function () use ($order, $request) {
$order->update([
'status' => 'paid',
'paid_amount' => (float) $request->input('object.amount.value'),
]);
Warehouse::ship($order); // HTTP-запрос к API склада
event(new OrderPaid($order)); // письмо покупателю
});
return response()->noContent();
}
}
ИИ использовать можно, но на техническом интервью разберём ваш отклик подробно и без него.