Senior Backend‑Developer (Node.js)
По договоренности
Задачи:
- Проектировать и реализовывать бизнес-критичные микросервисы с нуля и развивать существующие
- Решать задачи конкурентного доступа: 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+ стран
- Автономию и доверие: мы нанимаем взрослых людей и не занимаемся микроменеджментом
- Конкурентную компенсацию (обсуждается индивидуально)
- Полностью удалённую работу
При отклике, укажите, пожалуйста, в сопроводительном письме в какие игры вы играете или играли :)
Опубликована 5 часов назад
Похожие вакансии
- Можно удаленно
- Полный день
- Опыт от 5 лет
- Москва
- Можно удаленно
- Полный день
- Опыт от 5 лет
- Москва
- Можно удаленно
- Полный день
- Опыт от 5 лет
- Москва
- Можно удаленно
- Полный день
- Опыт от 5 лет
- Москва
- Можно удаленно
- Полный день
- Опыт от 5 лет
- Москва