X5 Digital - это 300 000 заказов ежедневно, highload, микросервисная архитектура и сильнейшая Node.JS команда в России.
Наши сервисы принимают 20 000 заказов каждый час, управляют работой 15 000 сборщиков в 4 000 магазинах и дарксторах, управляют работой 12 000 курьеров - всё это для того, чтобы каждый наших клиентов мог получить свой заказ вовремя.
У нас сильные команды разработки, большинство наших тимлидов и техлидов выросли внутри компании из разработчиков. Мы открыты к новому, идеи сотрудников очень ценны для нас: мы регулярно внедряем новые технологии, рефакторим старый код, выделяем новые микросервисы и новые команды, поэтому мы постоянно находимся в поиске новых и перспективных коллег.
Наш стек:
Для backend: Node.js (свой фреймворк/Nest.js), набор внутренних библиотек
Для хранения данных: MongoDB, ElasticSearch, Redis, ClickHouse
Брокеры сообщений: Kafka, RabbitMQ
Для мониторинга: Grafana, Kibana
Рабочие инструменты: Docker, Gitlab, Jira/Confluence
Автоматизация развертывания и оркестрация: Ansible, Gitlab, Kubernetes, своя обвязка PaaS (деплой одной кнопкой)
Чем предстоит заниматься:
- проектированием архитектуры микросервисов;
- разработкой новых и поддержкой текущих микросервисов на Node.js;
- проектированием инструментов и механизмов взаимодействия модулей системы;
- проведением рефакторинга приложений на Node.js;
- проектированием сервисов, структур данных, способов взаимодействия с фронтом, другими сервисами;
- обеспечением качества кода и стабильности сервисов;
- отладкой и тестированием приложения: автоматизированным и ручным;
- оптимизацией сервисов под высокие нагрузки (и да, у нас самый настоящий highload!).
Пожелания к твоему опыту и знаниям:
- уверенное знание Node.js - опыт от 2х лет;
- умение дебажить, находить причину нестандартных проблем;
- MongoDB-запросы, построение индексов;
- понимание принципов работы с Docker, Kubernetes;
- написание автотестов;
- понимание принципов построения и взаимодействия распределенных систем;
- готовность плотно работать с коллегами внутри команды и с коллегами из смежных команд: product-менеджером, аналитиками, разработчиками, тестировщиками, коллегами из платформы, и др.
Будет плюсом:
- опыт работы с миграциями данных;
- опыт настройки Nginx;
- опыт написания пайплайнов Gitlab CI;
- опыт работы с Nest.js;
- опыт эксплуатации и оптимизаций в высоконагруженных системах;
- опыт мониторинга сложных систем.