Текст заказа
AdMetrix — аналитическая платформа для рынка наружной рекламы. Она собирает данные о рекламных конструкциях от десятков поставщиков, рассчитывает охват и частоту и предоставляет аналитику через веб-интерфейсы с OLAP-отчётами и через API.
Существующая платформа переходит на Python, и мы формируем новую команду разработки, которая продолжит развитие платформы и всего комплекса систем. Ищем технического лидера, который возглавит команду из 2–3 backend- и 1–2 frontend-разработчиков, будет определять архитектуру и выстроит процессы разработки и доставки.
Чем предстоит заниматься
Технически руководить командой: декомпозиция и оценка задач, code review, стандарты разработки, наставничество, участие в найме.
Проектировать архитектуру backend-сервисов на Python и принимать ключевые технические решения.
Разрабатывать сервисы платформы: API, аналитические и OLAP-модули, загрузку и обработку данных от поставщиков.
Проектировать и оптимизировать Базы данных, отвечать за производительность аналитических запросов на больших объёмах данных.
Выстроить CI/CD: сборка, тесты, деплой, контейнеризация сервисов.
Координировать работу backend и frontend: проектировать API и контракты, при необходимости дорабатывать фронтенд.
Взаимодействовать с продуктом и бизнесом, а также со смежными командами.
Что мы ожидаем:
Python
Коммерческая разработка на Python от 5 лет.
Построение REST API, работа с ETL и обработкой данных из внешних источников.
Опыт работы со OpenAPI/Swagger.
Тестирование (pytest), типизация, поддерживаемая кодовая база.
Понимание принципов проектирования: SOLID, чистая архитектура, паттерны.
Реляционные базы данных
Глубокое знание MariaDB/MySQ, планы выполнения, индексы, оптимизация тяжёлых запросов.
Проектирование и нормализация схем, представления, миграции.
Транзакции, блокировки, конкурентный доступ.
Репликация, резервное копирование, масштабирование.
CI/CD и GitLab
Построение CI/CD в GitLab: stages, rules, include, шаблоны, кеширование, артефакты.
Администрирование GitLab Runners, работа с self-hosted GitLab.
Окружения и деплой (staging, production), переменные и секреты, защищённые ветки, процесс работы с merge request.
Docker, контейнеризация сервисов.
Уверенный Linux.
Техническое лидерство
Опыт работы техлидом или ведущим разработчиком от 2 лет, руководство командой от 3 человек.
Опыт принятия и обоснования архитектурных решений.
Менторство, code review, онбординг, участие в техническом найме.
Умение переводить требования бизнеса в технические задачи и планировать работу команды.
Frontend
Опыт с одним из современных фреймворков. Умение ставить задачи frontend-разработчикам и проверять их результат.
Будет плюсом
Знание JavaScript и Vue 3 (Composition API, Pinia).
Опыт с Node.js (текущая кодовая база платформы).
Опыт с PostgreSQL.
Картографические сервисы и геоданные (2GIS), визуализация данных.
Опыт с OLAP и аналитическими хранилищами.
Опыт в рекламной индустрии или медиаизмерениях.
Мониторинг и логирование: Prometheus, Grafana, ELK.