В связи с необходимостью технической модернизации ключевой платформы заказчика, компания Crosslinker в поисках опытного Middle+/Senior PHP разработчика.
Проект представляет собой высоконагруженную систему на базе PHP и Symfony, состоящую из множества взаимосвязанных пакетов с устаревшими версиями. Основная цель - провести полную инвентаризацию кодовой базы, осуществить миграцию на актуальные версии PHP (8) и Symfony, а также стандартизировать процессы сборки и управления зависимостями для обеспечения долгосрочной поддерживаемости системы.
Обязанности
•Провести полную инвентаризацию: собрать реестр пакетов, построить граф зависимостей, выявить дубли и неиспользуемые компоненты;
•Спланировать и реализовать поэтапный подъем версий PHP (7.4 -> 8.x) и Symfony на поддерживаемую версию, не останавливая параллельную работу команды по переезду секций;
•Выполнять миграцию кода с использованием автоматических инструментов (Rector) и ручного рефакторинга, с написанием собственных правил для статического анализа;
•Сопровождать сборку пакетов (Composer, семантическое версионирование, dev-ветки, path-репозитории) и обеспечивать воспроизводимость сборок в CI;
•Помогать команде переезда в решении проблем, связанных с версиями пакетов монорепы, участвовать в код-ревью и документировать состояние системы.
Требования
•Коммерческий опыт разработки на PHP от 5 лет (не Fullstack);
•Отличное знание PHP и уверенный опыт работы с Symfony (5.x/6.x) в продакшене, включая глубокое понимание контейнера и механизмов внедрения зависимостей;
•Обязательный опыт подъема версий PHP (7.x на 8.x) или работы с крупным многопакетным репозиторием (без этого не рассматриваем кандидатов);
•Умение читать и понимать легаси-код (навык «чтения без IDE»), знание особенностей PHP 7.x и Zend Framework 1 будет большим плюсом;
•Глубокое понимание транзакций, конкурентного доступа (блокировки, мьютексы) и SQL (опыт работы с PostgreSQL, умение читать EXPLAIN);
•Навыки рефакторинга с обоснованием пользы для команды, осознанное применение SOLID и DRY.
Будет плюсом
•Опыт работы с PHPUnit, RabbitMQ, Memcache/Redis, WebSocket;
•Опыт ведения монорепозитория (знание split-репозиториев, правил зависимостей);
•Настройка CI для многопакетных проектов (GitLab CI);
•Понимание DDD, ограниченных контекстов, однонаправленных зависимостей;
•Знание домена электронных торгов и закупок.
Условия
•Профессиональное развитие в аккредитованной IT-компании (возможность льготной ипотеки, есть бронь);
•Официальное трудоустройство по ТК РФ, "белая" ЗП;
•Участие в крупных проектах федерального масштаба;
•Сильную продуктовую команду, открытую твоим идеям;
•Современную технику при необходимости;
•Гибкий график, возможность работать удаленно (в пределах РФ);
•Корпоративная культура, дружный амбициозный коллектив и творческая атмосфера.