stormwall™

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

stormwall™ · На сервисе с: 17.06.26 00:10

↑ Вакансия с автоподнятием
Зарплата не указанаРоссияМоскваУдалёнка

О проекте

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

Похожие вакансии Node.js

hh.ru
playerok
от 400k ₽РоссияМоскваУдалёнка

Playerok — это маркетплейс цифровых товаров и услуг. Мы соединяем покупателей и продавцов, берём на себя безопасность сделки и запускаем собственные продукты. Строим масштабный бизнес на быстрорастущем рынке, на стыке гейминга, финтеха и e-commerce.

Ищем архитектора, который возьмёт архитектурный трек как соавтор — тянет направление сам, спорит по существу, отвечает за результат. Для амбициозных это редкий шанс построить платформу и процесс с фундамента, а не прийти на готовое. Это стройка: спроектировать сервисы, которых ещё нет, и выстроить архитектурную культуру, которой ещё нет. Позиция требует большой самостоятельности и вовлеченности в процессы.

Чем предстоит заниматься:

  • Проектировать новые сервисы — от требований и контракта до решений о хранилище, синхронизации, транспорте.
  • Резать монолит — выделять сервисы, находить границы, не ломая живую систему.
  • Строить architecture governance — чтобы архитектурные решения команд ловились автоматическими проверками и правилами, а не ручным согласованием.
  • Держать честную карту системы — слепки «как есть», снятые из кода, а не из легенд, и не устаревающие молча.
  • Вести реестр решений — чтобы через полгода было видно, почему система такая, а не археология по чатам.

Нам важно:

  • Опыт проектирования систем и декомпозиции на сервисы: проведение
    границ, управление связностью.
  • Глубокое понимание распределённых данных: source of truth, consistency и eventual consistency, событийная интеграция, trade-off между availability и data freshness.
  • Проектирование эволюционируемых контрактов и схем: обратная совместимость, миграции без даунтайма.
  • Понимание обратимости решений, умение соразмерять проработку с ценой ошибки.
  • Сильное инженерное мышление: разбор решений на альтернативы, критерии и trade-off, честная оценка цены.
  • Уверенное чтение кода, проектирование не в отрыве от реализации.
  • Опыт применения AI-инструментов как рычага в инженерной работе.
  • Самостоятельность в условиях неопределённости, без готового ТЗ.

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

  • Опыт работы и понимание Node.js / NestJS стека.
  • Опыт выделения сервисов из монолита.
  • Опыт с ADR и архитектурной документацией.

Наш стек:
TypeScript, NestJS, gRPC, Kafka, PostgreSQL, Redis, Elasticsearch, Kubernetes,
монорепозитории (yarn workspaces). Событийная интеграция, CDC, два ЦОДа.

Что предлагаем:

  • Полностью удаленный формат сотрудничества.

  • 400 000 руб — ориентировочная вилка, обсудим после всех этапов интервью.

  • Возможность выбрать форму сотрудничества и оплаты (все налоги — наша забота).

  • Онбординг-квест — не бросим в бой без подготовки, введем в курс дела и подключим к команде.

  • Занятость 5/2 с 8-часовым рабочим днем - c 10 до 19.

  • Команда профи — работаешь с инициативными и увлеченными коллегами.

  • Пауза на восстановление — «перезагрузиться» можно в оплачиваемом отпуске или на больничном.

Откликайся на вакансию — это первый шаг к тому, чтобы стать частью команды, которая меняет правила игры. Ваш ход! 🎮

Соц.сети
Г

Tech Lead / Team Lead интеграционной команды

грин_вэйв_пэласНа сервисе с: 20.08.26 09:08
Зарплата не указанаРоссияУдалёнка

Tech Lead / Team Lead интеграционной команды

Компания: Грин Вэйв Пэлас
Тип занятости: #full_time
Уровень: #senior #lead
Страна: #RU
Локация: #remote

Подробное описание вакансии:

Нажмите, чтобы развернуть...

Tech Lead/Team Lead для agile-команды из 5 человек внутри компании: техническое лидерство, играющий тренер для уже работающих миддлов, переговоры со смежными подразделениями без формальной власти, интеграция с продуктами платформы PlatformEco (Node.js + SQL).

Обязанности
- Техническое лидерство
- Играющий тренер для уже работающих миддлов
- Переговоры со смежными подразделениями без формальной власти
- Интеграция с продуктами платформы PlatformEco (Node.js + SQL)

Требования
- 5+ лет в разработке, из них 2+ года — tech lead/team lead команды 4–7 человек.
- Практический опыт построения интеграций: event-driven архитектура, API gateway, очереди сообщений, идемпотентность, retry/backoff, обработка ошибок.
- Уверенный продакшн-опыт на одном из стеков: Node.js, SQL, .NET, Python, JavaScript.
- Опыт работы с low-code/no-code платформами — конкретный инструмент некритичен, важна скорость адаптации к PlatformEco.
- Опыт работы внутри крупной организации: согласования, ресурсные конфликты, кросс-функциональные зависимости.

Будет плюсом
- Рабочее понимание RAG, LLM, MCP, готовность развиваться в сторону построения AI-агентов.
- Опыт в страховой/финансовой/корпоративной среде и встраивании внешних AI/SaaS-платформ в IT-ландшафт компании.
- Soft skills. Проактивность, переговорные навыки без формальной власти, баланс «играющий тренер / лидер», устойчивость к корпоративной бюрократии, прозрачная коммуникация о реальном статусе задач.


Контакты
- Telegram: @irinaalekseevnashi

Стек технологий: #node #sql #.net #python #javascript #platformeco

🔗Ссылка на канал | 📋Все каналы

hh.ru
Зарплата не указанаРоссияМоскваУдалёнка

Весь серверный контур продукта на тебе: от алгоритмов персональных планов и оркестрации AI-тренера до платежей, инфраструктуры и релиза в сторы.

SG — мобильное приложение (iOS + Android): персональные тренировки, питание и AI-тренер. Ищем backend-разработчика, который

возьмёт серверную часть целиком и доведёт её до релиза v1 в App Store и Google Play примерно за 3–4 месяца.

О проекте

Подготовительный этап позади: есть проработанное ТЗ, формализованные алгоритмы персонализации и полностью отрисованный дизайн приложения. Это не чистое поле и по коду: backend-ядро уже работает, LLM-сервис для готов — мозг строить не нужно, только интегрировать. Твоя часть — превратить всё это в сервер, на который опирается настоящее мобильное приложение.

AI-агенты и вайб-кодинг у нас — часть ежедневного процесса, как git. Рутину пишет агент, инженер владеет архитектурой и отвечает закаждую строку. Мы не считаем токены — смотрим на качественный и надежный результат.

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

  • Построить аутентификацию под мобильное приложение: email-OTP, OAuth (Google/Apple), JWT + refresh-сессии.
  • Спроектировать REST API основных модулей: дневник тренировок, дневник питания с поиском по большому каталогу продуктов, профиль с системой наград.
  • Реализовать бизнес-логику, в которой есть над чем подумать: алгоритмы формирования и адаптации плана тренировок и питания (план меняют и действия пользователя, и AI), сценарии вроде переноса тренировок с пересчётом расписания, разграничение free/premium.
  • Собрать чат с AI-тренером глубже, чем «вопрос-ответ»: структурированные ответы, карточки-превью тренировок, действия прямо из чата — пользователь пишет «добавь вес», и запись появляется в дневнике. Сам LLM готов — нужны оркестрация, контекст и API чата.
  • Подключить подписки и платежи: валидация IAP-чеков Apple/Google, вебхуки.
  • Настроить пуш-уведомления (FCM/APNs) и закрыть релизный контур: тесты, миграции, логи, окружения.

Ты — единственный backend-разработчик проекта и архитектор серверной части: свобода в решениях и ответственность за результат. При этом не прыжок без страховки: руководитель разработки регулярно ревьюит код, scope v1 зафиксирован, задачи декомпозированы — входишь не в туман, а в понятный план.

Стек

Node.js, TypeScript, Express, Prisma, PostgreSQL. Клиент — React Native + TypeScript, его пишет второй разработчик; AI-часть решена готовым LLM-сервисом.

Кого ищем

Человека, которому нравятся высокий темп и видимый результат: v1 собираем за 3–4 месяца, и каждая неделя заметно двигает продукт. Задачи часто приходят без готового решения — ждём, что ты будешь предлагать свои варианты и защищать их, а не ждать детальной постановки. Процессов минимум, многое настроишь под себя; если комфортнее в выстроенных регламентах большой компании — у нас будет непривычно.

И нам важно, как ты работаешь с людьми: спокойно даёшь и принимаешь обратную связь, слышишь команду и говоришь, если что-то идёт не так. Дружелюбное и уважительное отношение друг к другу — наша ценность, и высокий темп ей не противоречит.

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

  • Опыт вайб-кодинга — AI-инструменты разработки (Claude Code, Cursor или аналог) — уже твой ежедневный рабочий инструмент. Умеешь декомпозировать задачу для агента, валидировать и дорабатывать сгенерированный код — вайб-кодинг у нас ускоряет разработку, не снижая качества. Весь темп проекта построен на связке «инженер + AI»; на техническом интервью попросим показать, как ты работаешь с агентом на живой задаче. Если это для тебя давно норма — нам по пути.
  • 3+ года коммерческой разработки на Node.js + TypeScript.
  • Уверенный PostgreSQL и ORM (Prisma — плюс; TypeORM/Sequelize/Knex с готовностью пересесть — ок).
  • Проектирование REST API: валидация, пагинация, коды ошибок, версионирование.
  • Практический опыт с аутентификацией: JWT, refresh-токены, OTP или OAuth — хотя бы часть руками.
  • Тесты пишешь, а не «планируешь начать».

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

  • Валидация IAP-чеков Apple/Google или другой опыт с платежами.
  • FCM/APNs и системы уведомлений.
  • Интеграции с LLM API: стриминг, контекст-менеджмент.
  • Docker, CI/CD, настройка окружений — отдельного DevOps в команде нет, инфраструктуру поднимаем сами.

Не совпадает всё до пункта — всё равно откликнись

Как устроен найм

Короткий созвон → техническое интервью с живой сессией с AI-агентом → оффер; обычно 1–2 недели от отклика (возможно быстрее). Фидбэк получает каждый.

Как откликнуться

Напиши пару строк о себе и пришли ссылку на код (GitHub или пример проекта). Сопроводительное письмо не нужно.

Условия

  • Занятость: фуллтайм, полный рабочий день.
  • Формат: удалёнка; работаем по МСК, желательно часовой пояс не дальше МСК+3.
  • Оформление: ИП / самозанятость / ГПХ.
  • AI-подписки (Claude Code / Cursor): оплачиваем.
  • Горизонт: v1 в сторах за 3–4 месяца; после релиза позиция сохраняется, продукт и зона ответственности растут дальше.

HireSeeker собирает вакансии со всех площадок и присылает только релевантные. Бесплатно.