other

Разработчик Node.js

5 марта 2026

З/П не указана

Город: Москва

StormWall™

Тип занятости: Удаленная работа

Требуемый опыт: Опыт от 3 лет

Обязанности:

О проекте Вы присоединитесь к команде White Label — это 20+ микросервисов, которые обеспечивают полный цикл управления DDoS-защитой: от регистрации клиента и настройки доменов до реалтайм-статистики атак и автоматического биллинга. Платформа — мультитенантная: каждый партнёр (white-label) получает изолированное окружение для своих конечных клиентов, с собственным брендингом, конфигурацией и набором фич. Доступ через API v1/v2/v3, личные кабинеты. Масштаб: ClickHouse обрабатывает 286 миллиардов строк в аналитических запросах, хранит десятки терабайт агрегированных данных; Во время атак система обрабатывает до 152 миллионов событий блокировок в час; Десятки тысяч доменов под защитой, каждый с индивидуальной конфигурацией и мониторингом; Наш стек TypeScript / Node.js — 100% backend на TypeScript; NestJS — основной фреймворк для всех сервисов; Moleculer — legacy-микросервисы (поддержка и миграция на NestJS); Базы данных — ключевая часть работы: PostgreSQL — основное хранилище (TypeORM, миграции, сложные запросы); ClickHouse — аналитика и статистика трафика: терабайты данных, MergeTree / AggregatingMergeTree движки, MaterializedView, партиционирование по месяцам, TTL-политики, агрегации и перцентили; MySQL — legacy-данные и биллинг системы, JSON-поля, сложные схемы синхронизации; Redis — кеширование, сессии, rate-limiting; Асинхронное взаимодействие: RabbitMQ — основная шина сообщений между сервисами (exchanges, dead-letter queues, retry);NATS — транспорт для Moleculer-сервисов; ​​​​​​​Kafka — первичный источник статистики; Архитектура и паттерны: Микросервисная архитектура (20+ сервисов) с мультитенантной изоляцией данных; Clean Architecture / Layered Architecture (domains → storage → gateways); BFF-паттерн (Facade, API Gateway — агрегация данных из множества источников для фронтенда); Сложные runtime-синхронизации между разнородными БД и внешними API (биллинг, платёжные системы, сетевая инфраструктура, DNS, SSL-провайдеры); Паттерны отказоустойчивости: backpressure, circuit breaker, graceful degradation, retry с dead-letter queues; Общие версионируемые контракты и приватные npm пакеты; Инфраструктура: Docker + Kubernetes (Pod, Deployment, Service, Job, CronJob, Helm-чарты, liveness/readiness probes, автоскейлинг); GitLab CI/CD (автоматические пайплайны); PM2 — для legacy-сервисов на bare metal; Graylog — централизованное логирование; Linux — управление серверами, виртуалками и контейнерами через SSH; Jest (unit, integration, e2e); Supertest; Чем предстоит заниматься Разрабатывать микросервисы на NestJS + TypeScript в рамках проектов команды; Проектировать и реализовывать сложные синхронизации данных между PostgreSQL, MySQL, ClickHouse и сторонними API (биллинг WHMCS, платёжные системы Stripe/TBank/PayPal, сетевая инфраструктура, DNS-провайдеры, SSL Let's Encrypt) — с гарантией eventual consistency, идемпотентности и обработки ошибок; Работать с ClickHouse на терабайтных объёмах: проектировать схемы таблиц (MergeTree, ReplacingMergeTree), писать MaterializedView, управлять партициями и TTL, оптимизировать аналитические запросы на сотнях миллиардов строк (агрегации, перцентили, семплирование); Писать и оптимизировать SQL-запросы для PostgreSQL и MySQL ; Управлять миграциями через TypeORM, проектировать схемы данных, планировать миграции с legacy-форматов на нормализованные структуры ; RabbitMQ с паттернами отказоустойчивости: backpressure при пиковых нагрузках (миллионы событий/час), retry-стратегии, dead-letter queues; Проектировать REST API для внешних партнёров Расследовать и устранять production-инциденты: анализ логов в Graylog, подключение к контейнерам в K8s, отладка SQL-запросов, участие в post-mortem, проектирование reconciliation-джобов и алертов для предотвращения рассинхронизации; Управлять своей dev-виртуалкой через SSH: Docker Compose, просмотр логов, перезапуск сервисов, диагностика сети; Проводить и проходить Code Review; Что мы ожидаем 3+ года коммерческой разработки на Node.js / TypeScript; Уверенное владение NestJS (модули, DI, middleware, guards, interceptors, pipes); Опыт проектирования и поддержки микросервисной архитектуры на практике; Глубокое знание SQL и реляционных БД — PostgreSQL или MySQL: оптимизация запросов, индексы, EXPLAIN ANALYZE, транзакции, партиционирование, оконные функции; Опыт работы с ORM (TypeORM или аналоги) и написания миграций, включая нетривиальные сценарии: переходные периоды с параллельной работой старой и новой схемы; Практический опыт с брокерами сообщений (RabbitMQ, Kafka или NATS) — не hello-world, а реальные сценарии с retry, dead-letter, гарантией доставки; Понимание паттернов отказоустойчивости в распределённых системах: eventual consistency, идемпотентность, graceful degradation, компенсирующие транзакции (saga); Понимание Kubernetes на уровне архитектуры: Pod, Deployment, Service, Job, CronJob, ConfigMap, liveness/readiness probes — не обязательно настраивать кластер, но понимать, как ваш сервис живёт в K8s; Опыт работы с Docker: Dockerfile, docker-compose, отладка контейнеров; Уверенная работа в Linux через командную строку: SSH, grep/awk/sed, systemctl, journalctl, docker logs, просмотр процессов, работа с файлами, базовая диагностика сети (curl, netstat/ss, ping, dig); Умение диагностировать проблему БД — через psql/mysql CLI, анализ логов, просмотр метрик; Навык написания unit и integration тестов (Jest); Умение читать и анализировать чужой код на Code Review; Будет серьёзным плюсом Опыт работы с ClickHouse или другими колоночными OLAP-базами (MergeTree, AggregatingMergeTree, MaterializedView, партиции, TTL); Опыт синхронизации данных между несколькими гетерогенными источниками (разные БД + внешние API) — reconciliation jobs, обработка конфликтов, мониторинг консистентности, алерты на рассинхронизации; Опыт работы с большими объёмами данных (терабайты) — агрегации, кеширование, инкрементальные обновления, семплирование, преагрегация; Опыт работы в домене сетевой безопасности, CDN, хостинга или телекома (понимание L3/L7, reverse proxy, SSL/TLS, DNS); Опыт расследования production-инцидентов: post-mortem, root cause analysis, проектирование алертов и системы мониторинга; Понимание Clean Architecture / Hexagonal Architecture; Опыт проектирования мультитенантных систем с изоляцией данных между клиентами; Опыт работы с Redis (кеширование, pub/sub, rate-limiting); Знание Moleculer Framework; Условия Полностью удалённая работа; Команда из 8–10 backend-разработчиков; Работа с production-нагрузкой: реальные терабиты трафика, тысячи доменов, атаки в реальном времени; Каждый разработчик имеет личную dev-виртуалку с полным контуром сервисов — полная автономность в разработке; Возможность влиять на архитектурные решения; Jira + GitLab + Mattermost — прозрачные процессы;

Показать контакты

Имя не указано

Пожаловаться ID: 151658395

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

Node.js-разработчик

От 70 000 до 100 000 руб.

Москва

Фомичева Мария Андреевна

Разработчик Node.js

Договорная

Москва

Рубан Анна Михайловна

Разработчик Node.js

От 150 000 до 180 000 руб.

Москва

Интерпроком,ООО

Разработчик Node.js

Договорная

Москва

EYES OF WONDER SOFTWARE LLC

Разработчик Node.js

Договорная

Москва

UREMONT

Разработчик С# + Node.js

Договорная

Москва

Независимая нефтегазовая компания