Все вакансии

Fullstack-инженер — CRM/CDP-платформа (TypeScript, React, Node.js)

Савельев Георгий Анатольевич · 280 000–450 000 RUB · Москва · HH · опубликовано 10 июня 2026 г.

Компания Савельев Георгий Анатольевич
Источник HH
Опубликовано 10 июня 2026 г.
Зарплата 280 000–450 000 RUB

Описание вакансии

О проекте
Мы — продуктовая команда игрового проекта с аудиторией 2+ млн игроков и высокими нагрузками. Мы форкнули open-source CDP-платформу Dittofeed (TypeScript, Postgres, ClickHouse, Temporal) и заменили ею Customer.io для всех коммуникаций с игроками: email, push, in-app, Telegram. Платформа в проде и каждый день используется CRM-командой.
Ищем инженера, который возьмёт владение продуктовой частью платформы: довести функциональность форка до уровня Customer.io и дальше — под реальные задачи нашей CRM-команды.
Чем предстоит заниматься
Развитие journey-билдера: новые типы нод, условия и сплиты, тайм-окна, frequency capping, A/B-тесты внутри journeys
Слой отправки: мульти-ESP роутинг, suppression-листы, троттлинг по доменам и провайдерам, обработка вебхуков доставки
Каналы: доработка Telegram, push и in-app уведомлений, шаблонизация (LiquidJS/MJML), редактор шаблонов
Дашборд (Next.js + MUI): отчётность по кампаниям, когортная аналитика, A/B-результаты, UX для маркетологов
API платформы: интеграции с продуктом, админкой, BI
Работа в зрелой open-source кодовой базе: рефакторинг, выборочный мерж апстрима, код-ревью
Наш стек
TypeScript end-to-end · Next.js + React (MUI) · Fastify · PostgreSQL (Drizzle ORM) · ClickHouse · Temporal · LiquidJS / MJML
Что мы ожидаем
4+ года коммерческой разработки на TypeScript, уверенный full-stack: Node.js backend + React
Хорошее знание ClickHouse: написание и оптимизация аналитических запросов на больших объёмах (агрегации, оконные функции, материализованные представления), понимание специфики MergeTree и того, как не положить кластер тяжёлым запросом из дашборда
Уверенный SQL в PostgreSQL
Опыт развития большой чужой кодовой базы — основная работа в зрелом проекте, а не greenfield
Продуктовое мышление: пользователи платформы — наша CRM-команда, нужно уметь превращать их боли в фичи
Самостоятельность: от расплывчатой задачи до проработанного PR
Будет большим плюсом
Опыт с CDP/CRM/ESP: Customer.io, Braze, Iterable, Mautic — как пользователь или разработчик
Понимание email-инфраструктуры: SPF/DKIM/DMARC, deliverability
Опыт проектирования схем ClickHouse (партиционирование, TTL, дедупликация)
Опыт с Temporal, Telegram Bot API, web push
Опыт в играх или других high-volume B2C-продуктах
Условия
Полная удалёнка из любой точки мира. Просим overlap с командой 4+ часа в зоне CET (12:00–16:00)
Вилка: 280–450к+ в месяц, обсуждаем по итогам интервью
24 дня оплачиваемого отпуска + больничные
Пересмотр компенсации раз в 6 месяцев
Никакой бюрократии: маленькая команда (в основном продукте 50 человек), решения принимаются быстро, до прода — один ревью
Как проходит найм
Весь процесс — 3 шага:
Звонок-знакомство (30 мин) — расскажем про проект и платформу честно, ответим на любые вопросы, включая индустрию и оформление
Техническое интервью (~90 мин) — разговор про ваш реальный опыт: как устроены ваши React-приложения под капотом, какие запросы в ClickHouse писали и что с ними шло не так, как принимали продуктовые решения без готового ТЗ. Без лайвкодинга и алгоритмов на доске
Финал с техлидом (45 мин) — продуктово-архитектурная сессия по нашей реальной задаче (например, A/B-тесты внутри journey-билдера: от хотелки CRM-команды до схемы данных и UI) + оффер в течение 2 рабочих дней
Тестовых заданий нет — ваше время уважаем.

Навыки

  • TypeScript
  • React
  • Node.js
  • PostgreSQL
  • ClickHouse
  • Next.js
  • SQL
Открыть вакансию в ленте