11 3 д. назад

Backend Developer (Node.js, TypeScript)

Вакансия для разработчика на Node.js и TypeScript в команде, занимающейся DDoS-защитой. Требуется опыт работы с микросервисами, SQL и брокерами сообщений. Предлагается полностью удалённая работа и возможность влиять на архитектурные решения.

middle удалённо
Тип занятости
full-time
Опубликовано
3 марта 2026
Языки
English: Pre-Intermediate
Вакансии в Telegram-канале
Свежие вакансии Каждый день
Подписаться
??%
Match Score
Войдите и создайте резюме
Войти

описание

О проекте Вы присоединитесь к команде 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 — прозрачные процессы;

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

6 вакансии
Domclick
Domclick
13 ч. назад

Вайбкодер

Вакансия для разработчика, который умеет быстро писать код и работать с JavaScript/TypeScript и Python. Предлагается работа в аккредитованной IT компании с конкурентной зарплатой и возможностью удаленной работы.

remote · office · hybrid ·+3

middle удал.
Intch
Intch
21 ч. назад

Frontend Developer

В этой роли вы будете работать удаленно в команде над сайд-проектами для малого и среднего бизнеса. Основные требования включают глубокое понимание React и Next.js, а также умение решать сложные задачи и работать самостоятельно.

middle удал.
Сберегательные продукты
Сберегательные продукты
1 д. назад

Frontend Developer

Вакансия для Frontend Developer в команде Сберегательных продуктов. Основные требования: опыт работы с React, Typescript и микрофронтендами. Предлагается работа в команде над интересным проектом с возможностью делиться опытом и лучшими практиками.

middle удал.
Rusprofile
Rusprofile
1 д. назад

Frontend Developer

Присоединяйтесь к команде Rusprofile в роли Frontend Developer! Вам предстоит разрабатывать новые функции и улучшать качество кода, работая с современными технологиями. Мы предлагаем гибкий график, возможность удаленной работы и интересные проекты в быстрорастущем сегменте RegTech.

Frontend · Vue · TypeScript ·+2

middle удал.
Базис Недвижимость
Базис Недвижимость
1 д. назад

Frontend разработчик

В компании Базис Недвижимость вы будете заниматься разработкой и улучшением продукта, используя современные технологии. Ожидается хорошее знание JavaScript и опыт работы с Vue.js. Предлагаем конкурентоспособную зарплату и возможность удаленной работы.

Vue.js · Pinia · REST API

middle удал.
НОВЕО
НОВЕО
1 д. назад

React Native Developer

Присоединяйтесь к международной команде НОВЕО, где вы будете разрабатывать и улучшать мобильные приложения на React Native и веб-сайты на Next.js. Мы ищем специалиста с опытом в JavaScript и TypeScript, а также с хорошими знаниями английского языка. Предлагаем гибкий график, удаленную работу и возможности для профессионального роста.

Английский язык · React Native · next.js ·+5

middle удал.