📦 Полный жизненный цикл ПО глазами разработчика

1. Постановка задачи (Product / PM / Tech Lead)

  • Идея формируется как бизнес-фича
  • Результат: задача в трекере (Jira, YouTrack, Notion, и т.д.)
  • Иногда есть макеты, описание API, acceptance-критерии
🎯 Твоя роль:
  • Уточнить непонятные моменты до старта
  • Понять, какие системы/модули затрагивает задача

2. Проработка и планирование

  • Продумываешь архитектуру реализации
  • Чекаешь влияние на другие части системы
  • Иногда: делаете технический дизайн-документ или задачу на подзадачи
🎯 Твоя роль:
  • Предложить адекватную архитектуру
  • Если сомнения — обсудить с тимлидом

3. Разработка

  • Работа в отдельной ветке фичи (feature branch)
  • Пишешь код по архитектуре, покрываешь тестами
  • Прогоняешь локально (линтеры, phpunit, статический анализ)
🎯 Твоя роль:
  • Следить за качеством (code style, безопасность, тесты)
  • Соблюдать "чистый коммит" — без временных файлов и мусора

4. Code Review

  • Создаёшь Pull Request / Merge Request
  • Коллеги (или ты сам, если команда маленькая) смотрят изменения
🎯 Твоя роль:
  • Грамотно аргументировать решения
  • Исправлять замечания
  • Давать фидбек по чужим PR

5. CI/CD pipeline (Continuous Integration / Delivery)

  • Автоматические проверки:
    • линтеры (PHPStan, PHP-CS-Fixer)
    • unit-тесты
    • сборка образов, деплой на stage
🎯 Твоя роль:
  • Следить, чтобы pipeline был зелёный
  • Настроить пайплайн, если нужно

6. Stage / тестовый сервер

  • После merge: деплой на stage-окружение
  • Продуктовые или QA-тестировщики проверяют работу
🎯 Твоя роль:
  • Помочь с тестированием
  • Ответить на вопросы тестировщика

7. Продакшен-релиз

  • Деплой по графику или on-demand
  • Часто автоматизированный деплой через CI/CD
  • Могут использоваться tag-based деплои (по git-тегам)
🎯 Твоя роль:
  • Быть на связи на момент выката
  • Мониторинг логов, системы, ошибок

8. Мониторинг и поддержка

  • Слежение за алертами (Sentry, Prometheus, Grafana)
  • Если что-то пошло не так — hotfix или rollback
🎯 Твоя роль:
  • Быстро разобраться и пофиксить баг
  • Чётко коммуницировать с командой и продом

🎯 Как ты как разработчик участвуешь:

ШагТвоя зона ответственности
Проработка архитектуры, оценка
Чистый, тестируемый код
Получить/дать качественный фидбек
Следить за автоматическими проверками
Быть на связи, помогать с тестами
Мониторинг, готовность к hotfix
Быстрая реакция на алерты

📌 Частые вопросы на собеседовании:

  • Как проходит релиз в вашей команде?
  • Что происходит после merge?
  • Что у вас в CI/CD?
  • Как вы деплоите критические багфиксы?
  • Какие метрики/мониторинг вы используете?
  • Как вы предотвращаете баги на проде?