Ищем инженера, который не просто пишет код, а понимает архитектуру и инфраструктуру сложных систем. Это про Node.js на пределе возможностей, микросервисы, WebSocket, отказоустойчивость и big data в real-time.
Что нужно знать и уметь:
— Отличное знание core-механизмов, событийного цикла, ограничений производительности, GC и утечек памяти Node.js (JavaScript, без TypeScript);
— Глубокое понимание построения распределённых систем: проектирование, масштабирование и сопровождение микросервисов, управление их зависимостями, межсервисной коммуникацией (REST, WebSocket, брокеры сообщений), а также интеграциями с внешними системами и API-провайдерами;
— Проектирование и оптимизация real-time коммуникации на базе WebSocket: более 10,000 одновременных соединений, отказоустойчивые механизмы, балансировка, автоматическое восстановление, масштабируемость и минимизация задержек при передаче быстро обновляющихся данных;
— Опыт разработки систем с нагрузкой от 1000 RPS и выше, работа с большими объёмами данных, критичными к времени обработки;
— Понимание принципов работы брокеров сообщений, маршрутизации, очередей, acknowledgement-механизмов и масштабирования (RabbitMQ);
— Эффективное использование Redis как кэша и брокера pub/sub, понимание режимов конфигурации: standalone, sentinel, cluster, а также принципов репликации и персистентности;
— Базовые знания реляционных БД, грамотное написание запросов, понимание индексации, транзакций и производительности;
— Умение писать Dockerfile, сборка, настройка окружений, оптимизация образов;
— Базовое понимание пайплайнов CI/CD, подготовка и проверка кода перед деплоем (GitLab CI, TeamCity, и др.);
— Реализация надёжных и восстанавливаемых архитектур с учётом шардирования, репликации, мониторинга, алертов и failover-процессов.
Что мы ожидаем:
— Уверенный опыт в разработке высоконагруженных и отказоустойчивых Node.js-сервисов;
— Понимание того, как проектируется, строится и поддерживается архитектура распределённых систем;
— Способность работать с real-time данными и системами, критичными к latency;
— Умение находить архитектурные слабые места и предлагать масштабируемые решения;
— Опыт работы в сферах, связанных с ставками на спорт, гемблингом, финтехом или другими нагрузочными вертикалями — будет плюсом.
Будет плюсом:
— Знание Go;
— Опыт работы с Kafka;
— Опыт performance audit и профилирования Node.js-сервисов;
— Участие в проектировании систем с десятками тысяч активных пользователей.
Москва
от 3500 USD
Коваленко Артем Геннадьевич
Москва
до 2200 USD
Your Personal Agent
Москва
до 350000 RUR
Москва
от 6000 USD
Маковкин Сергей Аркадьевич
Москва
от 8000 USD