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

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

О проекте

Мы — продуктовая команда игрового проекта с аудиторией 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 шага:

  1. Звонок-знакомство (30 мин) — расскажем про проект и платформу честно, ответим на любые вопросы, включая индустрию и оформление
  2. Техническое интервью (~90 мин) — разговор про ваш реальный опыт: как устроены ваши React-приложения под капотом, какие запросы в ClickHouse писали и что с ними шло не так, как принимали продуктовые решения без готового ТЗ. Без лайвкодинга и алгоритмов на доске
  3. Финал с техлидом (45 мин) — продуктово-архитектурная сессия по нашей реальной задаче (например, A/B-тесты внутри journey-билдера: от хотелки CRM-команды до схемы данных и UI) + оффер в течение 2 рабочих дней

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