Ищем инженера, который не просто пишет код, а понимает архитектуру и инфраструктуру сложных систем. Это про Node.js на пределе возможностей, микросервисы, WebSocket, отказоустойчивость и big data в real-time.
НАШ СТЭК:
НАШ СТЕК:
Node.js
PostgreSQL
Redis
RabbitMQ
Kubernetes
Docker
Golang (с возможностью обучиться)
ЧЕМ ПРЕДСТОИТ ЗАНИМАТЬСЯ:
- Разработка новых микросервисов на Node.js,
- Миграция существующих сервисов с Node.js на Go,
- Участие в проектировании архитектуры новых сервисов,
- Поддержка и развитие существующего кода,
- Участие в оценке задач и соблюдение сроков реализации,
- Ответственность за технические решения и качество кода.
ЧТО МЫ ХОТИМ ВИДЕТЬ:
- Уверенный опыт в разработке высоконагруженных и отказоустойчивых Node.js-сервисов,
- Понимание того, как проектируется, строится и поддерживается архитектура распределённых систем,
- Способность работать с real-time данными и системами, критичными к latency,
- Умение находить архитектурные слабые места и предлагать масштабируемые решения,
- Отличное знание core-механизмов, событийного цикла, ограничений производительности, GC и утечек памяти Node.js (JavaScript, без TypeScript),
- Глубокое понимание построения распределённых систем: проектирование, масштабирование и сопровождение микросервисов, управление их зависимостями, межсервисной коммуникацией (REST, WebSocket, брокеры сообщений), а также интеграциями с внешними системами и API-провайдерами,
- Проектирование и оптимизация real-time коммуникации на базе WebSocket: более 10,000 одновременных соединений, отказоустойчивые механизмы, балансировка, автоматическое восстановление, масштабируемость и минимизация задержек при передаче быстро обновляющихся данных,
- Опыт разработки систем с нагрузкой от 1000 RPS и выше, работа с большими объёмами данных, критичными к времени обработки,
- Понимание принципов работы брокеров сообщений, маршрутизации, очередей, acknowledgement-механизмов и масштабирования (RabbitMQ),
- Эффективное использование Redis как кэша и брокера pub/sub.
ПЛЮСОМ БУДЕТ:
- Опыт работы с Golang, или желание его выучить.