Обязанности:
Реализация архитектурных решений
- Принимать и детализировать технические решения, предложенные Software Architect-ом, в рамках PHP-экосистемы.
- Оценивать риски и выбирать наилучший способ интеграции архитектурных паттернов в существующую кодовую базу.
Ревью кода
- Проводить детальный code review, обеспечивая соответствие кода стандартам проекта (PSR, internal coding guidelines).
- Выявлять потенциальные уязвимости, недочёты в логике, перформансе и архитектуре.
- Наставлять разработчиков по улучшению качества кода (менторинг, рекомендации по рефакторингу).
Управление релизами
- Подготавливать, выпускать и сопровождать релизы, контролируя качество и целостность приложения.
- Обеспечивать обратную совместимость (backward compatibility) и отказоустойчивость на уровне БД (миграции) и кода.
- Управлять версионностью, участвовать в разработке стратегий деплоя, откатов (rollbacks) и планировании релизного цикла.
Повышение качества проекта
- Разрабатывать и внедрять практики по улучшению codebase (рефакторинг, стандарты кодирования, внедрение CI/CD).
- Отвечать за уровень покрытия unit-тестами и интеграционными тестами.
- Совместно с QA-командой внедрять автоматизированные тесты, следить за их стабильностью и воспроизводимостью.
Коммуникация с разными командами
- Активно участвовать во встречах с бизнес-командой (аналитики, product owners) для уточнения требований и приоритизации задач.
- Взаимодействовать с QA для согласования тестовых сценариев, приёмочных критериев.
- Синхронизироваться с другими техническими командами (DevOps, Architect, Frontend, Mobile и т.д.) для согласованной реализации фич.
Документирование
- Ведение технической документации (REST API спецификации, ER-диаграммы, readme по микросервисам).
- Создание конфига для среды разработки, описание используемых библиотек и вспомогательных сервисов.
Процессы и методологии разработки
- Знание и практическое использование Agile-подходов (Scrum, Kanban), умение гибко реагировать на изменения требований.
- Планирование спринтов, проведение ретроспектив, оценка ресурсов, написание user stories (совместно с продуктовой командой).
Требования:
Глубокое знание технологического стека
- PHP – Уверенное владение (PHP 7.x / 8.x), знание современных фреймворков (Symfony) или компонентов.
- MySQL – Опыт проектирования и оптимизации структуры БД, написания сложных запросов, индексации, практик масштабирования.
- RabbitMQ – Понимание модели publish/subscribe, очередей, обменов, умение проектировать асинхронные сервисы.
- Redis – Использование для кэширования, хранения сессий, высоконагруженных операций, pub/sub механик.
Дополнительные инструменты и технологии (плюсом будет):
- Протокол SMPP – опыт подключения, интеграции с SMS-шлюзами.
- AWS – знакомство с базовыми сервисами (EC2, S3, RDS, SNS/SQS), понимание принципов сетевой безопасности (VPC, Security Groups) и масштабирования.
- Docker / Kubernetes – контейнеризация, оркестрация, автоматизация инфраструктуры и CI/CD пайплайна.
- Другие Message Brokers (Kafka, ActiveMQ) – понимание конкурентных решений и паттернов интеграции (при расширении стека).
Архитектура и дизайн
- Понимание основных шаблонов проектирования (SOLID, GRASP, GoF patterns) и умений применять их на практике.
- Опыт или понимание микросервисной архитектуры, распределённых систем.
- Знание принципов CQRS будет большим плюсом.
Инфраструктура, DevOps и автоматизация
- Участие в настройке CI/CD (Jenkins, GitLab CI или аналоги), оптимизация процессов сборки и деплоя.
- Ведение и оптимизация процессов мониторинга (Prometheus, Grafana, ELK Stack) и логирования.
- Настройка и поддержка окружений (staging, production), анализ производительности, профилирование PHP-кода (Blackfire, XHProf).
Безопасность
- Понимание OWASP Top 10, защита от основных уязвимостей (SQL Injection, XSS, CSRF).
- Безопасная работа с конфиденциальными данными (шифрование, хранение secrets, использование vault-систем).
Высокая нагрузка и производительность
- Оптимизация работы PHP-приложений под высокие нагрузки (кэширование, шардирование БД, нагрузочное тестирование).
-
Анализ «узких мест» в архитектуре, проработка горизонтального и вертикального масштабирования.