Senior Backend‑Developer (Node.js)
Devhunt · зарплата не указана · Москва · HH · опубликовано 8 мая 2026 г.
Описание вакансии
Прибыльная и быстрорастущая продуктовая компания, развивающая околоигровые продукты, один из крупнейших маркетплейсов внутриигровых предметов в мире в своей экосистеме: продаёт быстрее и безопаснее всех благодаря собственному ComputerVision-решению с системой P2P-сделок. Мы делаем так, чтобы покупка и продажа предметов была мгновенной, безопасной и понятной.
Задачи:
• Проектировать и реализовывать бизнес-критичные микросервисы с нуля и развивать существующие
• Решать задачи конкурентного доступа: race conditions при одновременных покупках одного товара, двойные списания, корректная работа с балансами при тысячах одновременны операций
• Обеспечивать консистентность данных между микросервисами: саги, компенсирующие транзакции, eventual consistency
• Проектировать и поддерживать контракты между сервисами (HTTP API, события в Kafka, сообщения в RabbitMQ)
• Оптимизировать работу с PostgreSQL: сложные запросы, правильные уровни изоляции, индексирование, партиционирование, миграции без даунтайма на таблицах с сотнями миллионов записей
• Проектировать очереди и event-driven потоки: гарантии доставки, ordering, retry-стратегии, dead letter queues, poison message handling
• Писать тесты: unit, integration с Test containers, e2e
• Участвовать в в код-ревью, формировать стандарты и практики команды
• Отвечать за свои сервисы в produtcion: мониторинг, алертинг, инцидент-менеджмент
• Использовать AI-инструменты для ускорения разработки и критически оценивать результат
Требования:
• 5+ лет коммерческой backend-разработки
• TypeScript + Node.js — не «писал скрипты на ноде», а строил production-системы: понимание event loop, libuv, streams, memory leaks, профилирование, отладка под нагрузкой
• NestJS — реальный опыт с DI, модулями, guards, interceptors, pipes, custom decorators, микросервисными транспортами
• PostgreSQL — не «делал SELECT», а: транзакции с правильными уровнями изоляции, SELECT ... FOR UPDATE / FOR UPDATE SKIP LOCKED , deadlocks и их диагностика, EXPLAIN ANALYZE , partial/covering/GIN/GiST индексы, партиционирование, оконные функции, CTE, миграции на живых данных
• TypeORM — query builder, миграции, работа с транзакциями, понимание ограничений и когда переходить на raw SQL
• Redis — кэш-стратегии (cache-aside, write-through), распределённые блокировки, rate limiting, pub/sub, понимание eviction policies, persistence (RDB/AOF)
• RabbitMQ — exchange types, routing, prefetch, ack/nack, dead letter exchanges, стратегии retry, отравленные сообщения
• Опыт с race conditions — не теоретический, а реальный: находил, воспроизводил, чинил в production
• Идемпотентность — умение проектировать операции, безопасные при повторном выполнении (idempotency keys, deduplication)
• Тестирование — не «знаю что такое jest», а: тестовая стратегия, моки vs реальные зависимости, Testcontainers, тестирование race conditions
• Самостоятельность — способность взять задачу «нужно решить проблему X» и довести до production без пошагового руководства
• AI как инструмент — практический опыт работы с AI-ассистентами в разработке (Cursor, Copilot, Claude, ChatGPT). Не «спрашиваю у ChatGPT как написать цикл», а: декомпозиция задач для AI-агентов, промпт-инжиниринг для сложных задач, критическая оценка сгенерированного кода, понимание ограничений и галлюцинаций LLM
Будет плюсом:
• Kafka — partitioning, consumer groups, exactly-once semantics, event sourcing, Schema Registry
• ElasticSearch / OpenSearch — проектирование маппингов, bulk-индексация, оптимизация поисковых запросов, агрегации
• ClickHouse — аналитические запросы, потоковая вставка, materialized views
• Опыт с финансовыми системами, платёжными сервисами, банкингом — где ошибка = потеря денег
• Опыт в gaming, e-commerce, high-frequency trading, fintech — знакомство с доменом и его вызовами
• Распределённые транзакции — Saga (orchestration / choreography), Outbox Pattern, Two-Phase Commit на практике
• Нагрузочное тестирование — k6, Artillery
• Понимание балансировки нагрузки, стратегий деплоя (blue-green, canary, rolling)
• Опыт декомпозиции монолитов
• Опыт построения AI-пайплайнов в команде: автоматизация ревью, генерация тестов, AI-агенты для DevOps-задач
• Опыт работы с LLM API (OpenAI, Anthropic, локальные модели) — интеграция AI-функциональности в продукт
• Python — умение читать и писать код (часть внутренних инструментов и ML-пайплайнов)
Условия:
• Работу над продуктом, которым пользуются миллионы людей каждый день
• Влияние на продукт: здесь код двигает бизнес x5-x7, а не пылится в бэклоге
• Технически сложные задачи — high-load, concurrency, distributed systems — каждый день
Микросервисную архитектуру, где ты владеешь своими сервисами целиком
• Участие в ключевом проекте трансформации платформы — прямое влияние на рывок компании
• Международную команду из 8+ стран
• Автономию и доверие: мы нанимаем взрослых людей и не занимаемся микроменеджментом
• Конкурентную компенсацию (обсуждается индивидуально)
• Полностью удалённую работу
При отклике, укажите, пожалуйста, в сопроводительном письме в какие игры вы играете или играли :)