Senior Backend Engineer — Data Platform (ClickHouse, Kafka, Temporal)

Зарплата:
300 000 - 500 000 руб.
Опыт работы:
От 3 до 6 лет
Место работы:
Москва

О проекте
Мы — продуктовая команда игрового проекта с аудиторией 2+ млн игроков и высокими нагрузками. Мы форкнули open-source CDP-платформу Dittofeed (TypeScript, Postgres, ClickHouse, Temporal) и используем её как замену Customer.io для всех маркетинговых и транзакционных коммуникаций: email, push, in-app, Telegram. Платформа в проде, кампании работают, отправляем сотни тысяч уведомлений.


Впереди рост на порядок: цель — стабильная обработка 20–100 млн пользовательских событий в сутки. Ищем инженера, который возьмёт владение data-слоем платформы и проведёт её через этот рост.


Чем предстоит заниматься

  • Масштабирование ingestion-пайплайна: Kafka-буферизация, батчинг вставки в ClickHouse, идемпотентность и дедупликация на десятках миллионов событий в сутки
  • Перепроектирование движка сегментации: уход от полного периодического пересчёта к инкрементальному, оптимизация тяжёлых запросов, схемы таблиц, партиционирование, шардирование и репликация ClickHouse
  • Масштабирование Temporal: тюнинг кластера (history shards, персистенция), оптимизация модели «workflow на пользователя» при миллионах активных journeys, ретраи и backpressure
  • Разведение нагрузок: пересчёт сегментов vs аналитические запросы дашборда vs ingestion
  • Нагрузочное тестирование, профилирование, метрики и SLO для пайплайна (вместе с нашим DevOps)
  • Выборочный мерж обновлений апстрима Dittofeed, архитектурные решения


Наш стек
TypeScript (Node.js, монорепо: Fastify API, Temporal worker) · ClickHouse · Kafka · PostgreSQL (Drizzle ORM) · Temporal · Docker / Kubernetes

Что мы ожидаем
5+ лет backend-разработки, 3+ на Node.js/TypeScript (рассмотрим и сильных кандидатов с Go/Java, готовых работать в TypeScript-кодовой базе)
Боевой опыт с ClickHouse на больших объёмах: проектирование схем, MergeTree-семейство, оптимизация запросов, опыт с кластерной конфигурацией
Опыт построения event-пайплайнов: Kafka или аналоги, exactly-once/at-least-once семантики, backpressure
Уверенный PostgreSQL: массовые upsert'ы, индексы, vacuum/bloat
Опыт нагрузочного тестирования и профилирования распределённых систем

Будет большим плюсом:

  • Production-опыт с Temporal или Cadence — самый ценный пункт
  • Опыт с CDP/CRM-платформами или построением систем коммуникаций in-house
  • Опыт high-load B2C: игры, e-commerce, adtech, финтех

Условия

  • Полная удалёнка из любой точки мира. Просим overlap с командой 4+ часа в зоне CET (12:00–16:00)
  • Вилка: 300-500к+ в месяц, обсуждаем по итогам интервью
  • 24 дня оплачиваемого отпуска + больничные
  • Пересмотр компенсации раз в 6 месяцев
  • Никакой бюрократии: маленькая команда (в основном продукте 50 человек), решения принимаются быстро, до прода — один ревью

Как проходит найм

Весь процесс — 3 шага:

  1. Звонок-знакомство (30 мин) — расскажем про проект и нагрузку честно, ответим на любые вопросы, включая индустрию и оформление
  2. Техническое интервью (~90 мин) — разговор про ваш реальный опыт: как проектировали схемы CH, как разруливали backpressure, что ломалось под нагрузкой. Без лайвкодинга и алгоритмов на доске
  3. Финал с техлидом (45 мин) — архитектурная сессия по нашей реальной задаче (сегментация на 100 млн событий) + оффер в течение 2 рабочих дней

Тестовых заданий нет — ваше время уважаем.

Похожие вакансии

Ведущий разработчик C#
МТС Банк

Умение проектировать распределенные, высоко-нагруженные системы. понимание SOA/EDA, мискросервисной архитектуры, DDD. Технологический стек: C# dotnet 8-10, PostgreSQL, Redis...

MLOps Engineer
Aston

Возможность работать над крупными задачами для лидеров рынка, применять свои знания и развивать экспертизу. Современный стек технологий. Опыт работы в...

Ведущий сетевой инженер / Руководитель группы
Виртуальные инфраструктуры

Какие навыки вам понадобятся: Сети. - опыт работы сетевым администратором не менее 5х лет. - опыт администрирования оборудования операторского уровня (Juniper...

AI-интегратор / AI Automation Engineer / Специалист по внедрению AI-решений
Sebekon

Опыт работы в этом направлении от 2 лет. Понимание принципов работы LLM: контекст, токены, промпты, ограничения моделей, галлюцинации, function calling...

Ведущий инженер-проектировщик ОВиК (Revit)
ИНГРАД Проект

Опыт проектирования жилых и общественных зданий на стадии «ПД» и «РД». Знание требований к «ПД» и «РД». Знание нормативной документации.