Senior backend developer (Node.js)

Дата размещения вакансии: 17.01.2026
Работодатель: DataLouna
Уровень зарплаты:
от 350000 до 450000 RUR
Город:
Москва
Требуемый опыт работы:
От 3 до 6 лет

О нас

DataLouna — киберспортивная аналитика нового поколения. Уже 4 года наша команда превращает сырые данные CS2 и Dota 2 в уникальную статистику, предсказания и эксклюзивные беттинг-линии.

Мы часть крупного IT/киберспортивного холдинга, работаем с топовыми букмекерами.

Отличие от HLTV и Dotabuff: не агрегируем публичные данные, а создаём собственные метрики вместе с профессиональными аналитиками и тренерами. На этой базе строим B2B-решения: API, предиктивные модели, уникальные линии.

Цель: стать HLTV 2.0 в аналитике и главным поставщиком данных для беттинг-индустрии.

Слово от CEO

На создание технологического ядра DataLouna ушли годы. Мы перепробовали сотни подходов к данным и их применению, пока не нашли свой путь. Теперь собираем команду, с которой пойдём дальше.

  • Нам не нужны исполнители, которых легко заменит LLM
  • Не нужны те, кого надо постоянно контролить, разжёвывать задачи и писать детальные ТЗ

Нам нужны взрослые. Получил задачу — покрутил решения — пришёл с предложением и сроками — сделал. И кайфанул от результата.

Мы верим в маленькую автономную команду. Минимум бюрократии, созвонов и регламентов. Большой результат.

Что будешь делать

Развивать несколько продуктов: сервис статистики CS2/Dota 2, беттинг-линии, платформу datalouna.io.

Задачи:

  • Проектировать и разрабатывать микросервисы, у нас ~10 сервисов на Node.js/TypeScript, один на Go
  • Оптимизировать ClickHouse и PostgreSQL под аналитику и высокие нагрузки
  • Разрабатывать API: REST, GraphQL, интеграции с внешними системами
  • Работать с live-данными: сотни событий в секунду, low latency пайплайны
  • Влиять на продукт: предлагать решения, участвовать в архитектурных решениях

Примеры реальных задач:

  • Спроектировать обработку live-событий с latency < 500ms
  • Оптимизировать аналитические запросы по миллионам записей
  • Разработать сервис расчёта предиктов в реальном времени
  • Сделать GraphQL API с live-обновлениями через subscriptions

Что важно

Обязательно:

  • Node.js / TypeScript, опыт от 4 лет. Уверенная работа с async/await, понимание Event Loop. Опыт написания серверного кода без тяжелой магии фреймворков. Bun / Hono будут плюсом, но не обязательны
  • PostgreSQL: проектировал схемы с нуля, понимаешь индексы, транзакции, умеешь читать EXPLAIN ANALYZE
  • ClickHouse: имеешь реальный опыт проектирования схем под аналитику, понимаешь особенностей колоночных БД, работаешь кодеками сжатия
  • SQL: умеешь писать сложные запросы руками, без ORM
  • Redis: практический опыт использования в проде
  • System Design: умеешь проектировать архитектуру, декомпозировать задачи, обосновывать выбор технологий
  • Микросервисы: у тебя есть опыт работы с распределенными системами, ты понимаешь REST/gRPC, message queues
  • Docker и CI/CD: разворачиваешь сервисы в Docker, работаешь с docker-compose
  • Самостоятельность: ты не ждешь задач в готовом виде. Получив цель, ты сам определяешь путь: разбиваешь ее на этапы, распределяешь силы и ведешь работу от концепции до реализации. Мы доверяем процесс нашим сотрудникам и ждем осознанного управления временем и приоритетами

Будет плюсом:

  • Опыт работы с Go: у нас есть сервис на нем
  • Если знаешь GraphQL: schema design, DataLoader, subscriptions
  • Kubernetes, нагрузочное тестирование
  • Парсинг / веб-скрапинг
  • Бэкграунд в сфере беттинга или киберспорта

Стек

  • Backend: Node.js, TypeScript, Bun, Hono
  • Базы данных: PostgreSQL, ClickHouse, Redis
  • API: REST, GraphQL, gRPC, WebSocket
  • Инфраструктура: Docker, Kubernetes, Google Cloud, GitLab CI, Grafana, Prometheus
  • Очереди: BullMQ, Google Pub/Sub

Условия

  • 💰 350 000 – 450 000 ₽ (обсуждается по опыту)
  • 📍 Удалённая работа
  • ⏰ Гибкий график, синхронизация с командой по необходимости

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

Как проходит отбор

  1. Скрининг (15-20 мин) — знакомство, пара технических вопросов
  2. Техническое интервью (1.5-2 часа) — обсуждение опыта, system design задача
  3. Оффер

Тестового задания нет.