Запкоматсу

PHP Laravel разработчик (HighLoad / Optimization / Refactoring)

150 000 - 200 000 RUR
  • Екатеринбург
  • Полная занятость
  • Удаленная работа
  • От 3 до 6 лет
  • PHP
  • Laravel
  • MySQL
  • REST API
  • Git
  • Docker

О нас:
Мы — E-commerce проект в нише запчастей для спецтехники (1.5 млн артикулов, сложная предметная область).
Сейчас проектом руководит Технический директор (Фаундер). Бизнес растет, идей много, но не хватает системности в реализации. Текущий код работает, приносит деньги, но местами страдает от «быстрых решений» прошлого.

Мы ищем не просто кодера, а Инженера-стабилизатора. Нам нужен человек, который станет «технической совестью» проекта: поможет навести порядок, внедрит лучшие практики (где это оправдано) и возьмет на себя ответственность за стабильность бэкенда.

Почему это может быть интересно вам:

  • HighLoad по данным: Работа с большими массивами данных, где нужно думать об индексах, памяти, транзакциях, оптимизации скорости доставки, а не просто вызывать методы ORM.
  • Карт-бланш на качество: Мы устали от «костылей». Если вы аргументируете, почему нужно потратить три дня на рефакторинг, чтобы потом не тратить неделю на баги — мы вас поддержим.
  • Life-work баланс: Мы против работы по выходным и героических подвигов по ночам. Если задача не влезает в срок — это проблема планирования, а не повод для овертайма.

Стек и Технологии:

  • Админка и обработка данных: Laravel 8.2 + PHP 8.2 (планируем постепенное обновление).
  • Пользовательская часть: Laravel 12 + Blade + jQuery (поддержка существующего, верстать с нуля не нужно).
  • База данных: MariaDB, 1.5 млн товаров, сложная связность.
  • Архитектура: Специфичный Task Manager на базе БД (Chain-jobs). Одна из задач — поддерживать его и предлагать идеи по архитектурному улучшению.
  • Инфраструктура: Docker, CI/CD на dev-контуры.

Ваши задачи:

Data Processing: Написание и стабилизация тяжелых парсеров/импортеров. Задача — сделать так, чтобы синхронизация работала как швейцарские часы.

Оптимизация: Анализ «узких мест». Рефакторинг SQL-запросов, оптимизация потребления памяти (работа с чанками, курсорами).

Систематизация: Постепенное снижение техдолга. Внедрение строгой типизации, покрытие критических узлов тестами, улучшение читаемости кода.

Бэкенд-логика: Реализация бизнес-задач (каталог, ценообразование, фиды) с упором на надежность, а не только на скорость.

Наш идеальный кандидат:

  • Вы — педант в коде. У вас «аллергия» на run-time ошибки, которые можно было отловить статическим анализом или строгой типизацией.
  • Вы понимаете "физику" БД. Знаете, почему set_time_limit(0) — это плохое решение, и как обновлять 100 000 записей, не блокируя таблицу для чтения.
  • Вы предсказуемы. Вы не пропадаете с радаров. Если задача сложнее, чем казалось — вы сигнализируете об этом сразу, а не в день дедлайна.
  • Отношение к Legacy: Вы не впадаете в ступор от чужого кода, а спокойно разбираетесь и улучшаете его шаг за шагом (Rule of Boy Scout).

Условия:

  • Доход: 150 000 – 200 000 руб. (на руки). Выплаты всегда вовремя, финансовая подушка у компании есть.
  • Формат: Полная удаленка. Оформление (СЗ / ИП).
  • График: Гибкое начало дня, стандартные 8 часов. Мы ценим личное время и work-life balance.
  • Процессы: Минимум митингов. Работаем короткими итерациями, обсуждаем не «почему не успел», а «как сделать, чтобы успели в следующий раз».

ВОПРОС ДЛЯ ОТКЛИКА (Обязательно):
Пожалуйста, начните сопроводительное письмо с ответом на этот кейс. Это поможет нам сэкономить общее время.

Ситуация: Вам нужно написать парсер для обновления цен с сайта поставщика (50 000 товаров). Сайт донора работает крайне нестабильно: часто отдает 504, разрывает соединение или просто очень медленно грузится.
Задача: Опишите тезисно алгоритм вашего решения.

Оцените – какие ошибки могут при этом возникать, и как с ними работать?

Как вы организуете процесс, чтобы гарантировать обновление всех 50 000 товаров, даже если скрипт будет падать 10 раз за проход?