Платформенная команда предоставляет базовые сервисы, помогающие другим командам выполнять свои задачи. В рамках нашей компании определены 3 основные стратегии развития платформенной команды:
-
создание и поддержка централизованной API для остальных команд;
-
создание и поддержка инструментов и решений, помогающих другим командам;
-
оптимизация работы сервисов и поддержание стабильности.
Требования (soft):
-
умение управлять командой разработчиков;
-
опыт организации и проведения регулярных встреч команды;
-
стрессоустойчивость;
-
знакомство с методологиями Scrum и Kanban;
-
умение декомпозировать задачи и проблемы и распределять их в зависимости от ресурса команды;
Требования (hard):
-
уверенное знание PHP >= 8.1 (включая коммерческий опыт работы не менее 5 лет);
-
опыт работы с Yii2 Framework и Symfony >= 6;
-
понимание принципов ООП и основных паттернов проектирования;
-
понимание DDD и гексагональной архитектуры;
-
опыт написания сложных запросов на PostgreSQL (в том числе используя функции агрегации json, array, оконные функции и т.д.);
-
опыт работы с брокерами сообщений (RabbitMQ и Kafka);
-
знакомство с RoadRunner;
-
метрики (Grafana, Prometheus);
-
опыт работы с Docker (Kubernetes) и Gitlab CI;
-
опыт покрытия тестами (Codeception, PHPUnit);
-
продвинутое владение ОС Linux.
Обязанности
-
контролировать процессы работы платформенной команды;
-
декомпозировать и распределять задачи по разработчикам;
-
проводить аналитику задач на предмет полноты описания, а также выбора архитектуры решения;
-
проводить код-ревью задач, либо делегировать другим участникам команды;
-
проводить регулярные встречи команды;
-
быть наставником для других участников команды;
-
разрабатывать архитектурные решения, предлагать свои идеи, а также собирать ОС от команды;
-
консультировать другие команды на предмет согласования решения;
-
оперативно локализовывать/предотвращать критичные проблемы и ошибки в функциональности в production окружении;
-
искать неэффективные места в коде/архитектуре и пополнять технический бэклог команды;
-
выступать на внутренних митапах, а также делиться ценными знаниями с коллегами.
Примеры проектов и задач
-
оптимизация работы приложения с БД (оптимизация запросов, уменьшение кол-ва запросов, рефакторинг данных);
-
рефакторинг и оптимизация кода проектов, оптимизация производительности;
-
добавление новых способов оплаты, интеграция с эквайрингами;
Примеры текущих проектов
-
приведение функционала оплат к единому шаблону
-
оптимизация функционального тестирования (распараллеливание, оптимизация потребления ресурсов).