Backend Developer (Node.js/TypeScript)
Команда White Label ищет backend-разработчика для создания и поддержки микросервисов на NestJS и TypeScript. Вы будете проектировать сложные синхронизации данных между разными базами и внешними API, работать с терабайтными объёмами в ClickHouse и оптимизировать SQL-запросы. Требуется опыт от 3 лет, глубокое знание Node.js, NestJS, PostgreSQL/MySQL и брокеров сообщений. Предлагается полная удалёнка, работа с реальной нагрузкой и влияние на архитектуру.
Зарплата не указана — оценили по рынку
На основе 44 похожих вакансий за 90 дней.
Что предстоит делать
О проекте Вы присоединитесь к команде 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;
Что предлагаем
Стек и инструменты
Подходит ли вам эта вакансия?
Зарегистрируйтесь и загрузите резюме — посчитаем % совпадения с этой вакансией, подсветим сильные стороны и что стоит подтянуть
Ещё в StormWall™
5 активных вакансий в компании
Senior Python/C++ Developer
~1 458 600 – 2 320 500 ₸ оценка
Ищем Senior Python/C++ разработчика для создания высокопроизводительных систем обработки трафика. Нужен опыт от 5 лет, знание FastAPI, Linux, Docker и работы с большими нагрузками. Предлагают удаленку, ДМС и карьерный рост.
Системный администратор / DevOps инженер
~1 657 500 ₸ оценка
Ищем опытного системного администратора для сопровождения инфраструктуры на Linux, VMware и Zabbix. Нужно поддерживать работоспособность серверов, автоматизировать процессы и мониторинг. Предлагают полную занятость, ДМС, оплату английского и спорта.
Senior C разработчик
~1 027 650 – 1 989 000 ₸ оценка
Ищем Senior C разработчика для создания высокоскоростного пакетного фильтра. Нужно знание C, Linux, сетевых технологий и многопоточности. Предлагают полную удаленку, ДМС, оплату языковой школы и спорта.
Senior Python/C++ Developer
~1 458 600 – 2 320 500 ₸ оценка
Ищем опытного Python-разработчика для создания высоконагруженной системы обработки HTTP-трафика. Требуется глубокое знание Python, Linux, сетевых протоколов и опыт работы с большими данными. Компания предлагает удаленный формат, ДМС и возможности для роста.
Похожие вакансии
6 вакансий
Frontend Developer
Ищем опытного Frontend Developer для развития веб- и мобильных продуктов Mellow на Angular и Ionic. Требуется уверенное владение TypeScript, RxJS и SASS. Предлагаем гибкий график, регулярный пересмотр зарплаты и бюджет на обучение.
Frontend-разработчик (React)
~994 500 – 1 463 190 ₸ оценка
Frontend-разработчик для создания цифровых решений премиального банкинга. Нужен опыт от 3 лет с React, TypeScript и CI/CD. Работа в команде по Agile.
AI Product Engineer
~1 432 080 ₸ оценка
Ищем фуллстек разработчика с опытом в Node.js или .NET и React, который будет самостоятельно вести задачи от бэкенда до деплоя, активно используя AI-инструменты. Требуется умение ставить задачи AI, проверять результаты и исправлять ошибки моделей.
Frontend-разработчик (React, JavaScript/TypeScript)
~625 000 – 900 000 ₸ оценка
Ищем frontend-разработчика для создания интерфейсов государственной информационной системы. Нужен опыт от 2 лет с React, TypeScript и REST API. Предлагаем официальное трудоустройство, премии и оплачиваемое обучение.
Middle Backend инженер
Разработка бэкенда для новой корпоративной платформы B2B телеком-провайдера. Требуется опыт Node.js, TypeScript, микросервисов, Kafka и AWS. Предлагают удаленную работу, страховку и возможности роста.
Angular-разработчик
~994 500 – 1 463 190 ₸ оценка
Ищем Angular-разработчика для крупного государственного проекта, включающего бизнес-систему, геопортал и игру. Требуется опыт работы с Angular 20+, TypeScript, RxJS и state management. Предлагаем удаленную работу, гибкий график и возможности для роста.