Ищем тимлида, который хорошо понимает код и умеет руководить разработкой. Основная роль - писать новую CMS, помогать команде принимать технические решения, следить за качеством и сроками. Придётся подключаться к сложным задачам и архитектуре, работать в многозадачности.
Технические требования:
Мы ориентируемся на указанный ниже стек. Если вы не работали с конкретным инструментом, но хорошо знаете его аналог (например, Kafka вместо NATS) — нам есть что обсудить.
- Языки и фреймворки: знание PHP (8+), современных принципов и подходов (ООП, SOLID, KISS, DRY, YAGNI, code style, статический анализ, культура тестирования).
Уверенное владение Symfony (7+) и опыт работы с API Platform.
Понимание специфики Go для решения задач, где это архитектурно оправдано.
- Базы данных: проектирование и оптимизация различных хранилищ (PostgreSQL, MySQL/MariaDB, MongoDB, Redis, ClickHouse, Elasticsearch). Умение обоснованно выбирать БД задачу. Опыт работы с S3.
- Архитектурный опыт: проектирование микросервисных систем с фокусом на надежность и производительность. Понимание работы API Gateway, OpenTelemetry, Websockets, SSE.
Понимание принципов работы шин обмена данными и брокеров (используем NATS), обеспечения консистентности через паттерны (Outbox, Saga).
- Инфраструктура и окружение: владение Docker, понимание процессов CI/CD.
- Высокие нагрузки и производительность:
Умение конфигурировать высокопроизводительные прокси-серверы и балансировщики нагрузки (Nginx, HAProxy или Traefik), включая реализацию сложной логики (например, на njs).
Опыт построения отказоустойчивых систем, владение методами оптимизации распределенных запросов (решение проблемы N+1) и стратегиями кэширования.
Управленческие требования:
опыт руководства командой разработчиков (планирование, приоритизация, то выполнения задач);
умение декомпозировать задачи и оценивать сроки разработки;
понимание, как выстроить процессы разработки (Git-flow, code review, CI/CD);
способность принимать архитектурные и технологические решения и аргументировать их;
навыки ведения технических обсуждений и помощи команде в решении сложных вопросов;
опыт взаимодействия с продуктовой командой (devops , PM).
Проектирование архитектуры: формирование фундамента платформы, описание межсервисных связей и выбор паттернов взаимодействия;
Принятие и защита решений: мониторинг технологического рынка, обоснованный выбор технологического стека и Open Source решений для ускорения разработки, повышения безопасности и качества системы;
Техническое лидерство: выстраивание процессов разработки (Git-flow, CI/CD, code review), внедрение единых стандартов разработки и менторство разработчиков для повышения качества кода и навыков команды;
Управление процессами: конвертация и декомпозиция продуктовых требований в технические задачи, оценка рисков и планирование этапов реализации;
Разработка функционала: написание ключевого кода системы и реализация базовых платформенных сервисов;
Работа с документацией: ведение архитектурных схем, описание протоколов взаимодействия, стандартов и ключевых технических решений;
Контроль инфраструктуры: проектирование конфигураций для отказоустойчивой работы окружения, постановка задач DevOps-инженерам;
Развитие стека: готовность аргументированно внедрять новые инструменты и подходы для улучшения качества и скорости платформы. Например, применение Go/RoadRunner для высокопроизводительных узлов или внедрение Scalar API.