Савельев Георгий Анатольевич
Fullstack-инженер — CRM/CDP-платформа (TypeScript, React, Node.js)
- TypeScript
- PostgreSQL
- Clickhouse
- JavaScript
- Node.js
- Next.js
- Temporal
- LiquidJS
О проекте
Мы — продуктовая команда игрового проекта с аудиторией 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 рабочих дней
Тестовых заданий нет — ваше время уважаем.