Команда Social — новое стратегическое направление в R&D 2ГИС. Мы превращаем любимое приложение миллионов пользователей в платформу для взаимодействия в реальном времени. Наша цель — сделать карту и справочник по-настоящему живыми.
Первая реализованная фича — отображение друзей на карте в реальном времени.
Направление активно растёт: увеличивается количество сервисов, сценариев и команд.
Мы ищем опытного Tech Lead, который готов взять на себя ответственность за архитектуру и развитие backend-направления. Если тебе интересно проектировать высоконагруженные системы, принимать ключевые архитектурные решения и выстраивать взаимодействие между командами — это предложение для тебя.
Что делает Scala-команда
Мы разрабатываем высоконагруженные backend-сервисы, которые обрабатывают и передают данные о геопозиции пользователей в реальном времени, а также создаём инфраструктуру для обмена сообщениями и аналитической обработки данных.
В рамках фичи «Друзья на карте» мы:
- проектируем и оптимизируем потоки данных в реальном времени;
- обрабатываем данные геопозиции, рассчитываем скорость и азимут движения;
- определяем пользовательские статусы на основе поведения;
- передаём стикеры и сообщения между пользователями;
- агрегируем данные для аналитики;
- и многое другое.
Технологии
- Язык: Scala 3.7.4
- Фреймворки: Typelevel-стек (cats, cats-effect 3, fs2, http4s)
- Стриминг: Kafka (fs2-kafka, kafka-streams)
- Хранилища: Cassandra (cassandra4io), ClickHouse (кластер для аналитики и больших данных)
- Мониторинг: ELK, Grafana, Prometheus
- Деплой: Kubernetes через GitLab CI/CD
Какие задачи предстоит решать
- Формирование и развитие архитектуры backend-направления.
- Принятие ключевых архитектурных решений для высоконагруженных распределённых систем.
- Обеспечение согласованности архитектуры между несколькими backend-командами.
- Организация взаимодействия команд: API-контракты, событийная модель, SLA.
- Внедрение и развитие архитектурных практик (ADR, дизайн-ревью, техрадар, RFC-процессы).
- Проектирование highload-сервисов с учётом масштабирования, отказоустойчивости и консистентности данных.
- Проработка потоков данных между Kafka, Cassandra и ClickHouse.
- Анализ и оптимизация производительности сервисов и стриминговых пайплайнов.
- Техническое менторство разработчиков (без people-менеджмента).
Что мы ждём от кандидата
- 5+ лет опыта разработки backend-систем.
- 2+ года опыта в роли Tech Lead или ведущего разработчика.
- Опыт проектирования и развития высоконагруженных распределённых систем.
- Уверенные знания Kafka и одной из NoSQL/аналитических БД (Cassandra, ClickHouse или аналогов).
- Опыт работы с функциональным стеком (желательно cats-effect 3 или аналогичные эффекты).
- Опыт принятия архитектурных решений и ответственности за них.
- Понимание принципов event-driven архитектуры и стриминговых систем.
- Опыт проектирования потоков данных и интеграций между сервисами.
- Системное мышление и умение видеть архитектуру целиком.
- Коммуникабельность и способность аргументировать технические решения.
Будет плюсом
- Практический опыт с Scala 3.
- Опыт эксплуатации JVM-приложений в production.
- Опыт проектирования real-time систем.
- Опыт работы с ClickHouse в highload-сценариях.
- Знание и понимание принципов Typelevel-программирования.
Почему стоит присоединиться к нам
- Живой продукт с миллионами пользователей.
- Реальное влияние на архитектуру стратегического направления.
- Возможность выстроить backend-архитектуру нового продукта.
- Работа в сильной технологичной команде.
- Рост в сторону экспертного и архитектурного трека.
Что предлагаем
- 2ГИС — аккредитованная IT-компания.
- Удалённый или гибридный формат (офисы: Москва, Санкт-Петербург, Новосибирск).
- Полностью белая зарплата. Дополнительные дни отпуска за стаж.
- ДМС и онлайн-консультации специалистов.
- Поддержка выступлений на конференциях и публикаций.
- Собственный учебный центр: курсы, тренинги и книги.