улица Коровий Вал 5
Команда разрабатывает сервисы, которые обеспечивают сборку онлайн-заказов в магазинах и дарксторах X5. Системы в реальном времени распределяют заказы и задания между сборщиками, поэтому особенно важны производительность, стабильность и корректная работа под высокой нагрузкой.
Ищем опытного Go-разработчика, который будет участвовать в проектировании архитектуры, развитии микросервисов и повышении надёжности production-систем. Основной язык разработки, Go. Также в инфраструктуре есть сервисы на TypeScript и NestJS.
Чем предстоит заниматься
-
Проектировать и разрабатывать высоконагруженные микросервисы на Go, участвовать в развитии сервисов на NestJS.
-
Продумывать архитектуру, структуры данных и взаимодействие сервисов между собой и с фронтендом.
-
Развивать существующие решения, находить узкие места, проводить рефакторинг монолита и микросервисов, оптимизировать критичные участки под нагрузку.
-
Проводить код-ревью, поддерживать стандарты разработки и следить за качеством кода.
-
Обеспечивать стабильность production-сервисов: участвовать в дежурствах, разбирать инциденты и устранять их первопричины.
-
Разрабатывать юнит- и сложные интеграционные тесты, развивать автоматизацию тестирования.
-
Исследовать и внедрять новые технологии и инструменты для разработки, тестирования и мониторинга.
-
Документировать технические решения и взаимодействовать с QA и продуктовыми командами.
Что для нас важно
-
Опыт коммерческой backend-разработки от 5 лет, в том числе от 2 лет на Go.
-
Опыт проектирования и разработки высоконагруженных микросервисов и распределённых систем.
-
Уверенное понимание принципов построения микросервисной архитектуры и взаимодействия между сервисами.
-
Опыт работы с Kafka или другими брокерами сообщений.
-
Практический опыт работы с PostgreSQL и другими SQL- и NoSQL-базами данных.
-
Знание Redis, MongoDB и gRPC.
-
Опыт работы с Docker, Kubernetes и CI/CD.
-
Навыки настройки и использования мониторинга и логирования, в том числе Grafana и ELK.
-
Опыт сопровождения production-систем, участия в дежурствах, анализа и устранения инцидентов.
-
Готовность работать с TypeScript и NestJS, поскольку часть сервисов реализована на этом стеке.
-
Умение писать тестируемый и поддерживаемый код, проводить код-ревью и аргументированно обсуждать технические решения.
Будет плюсом
-
Опыт разработки в e-commerce, ритейле или логистике.
-
Опыт создания real-time-систем и работы с WebSocket.
-
Практический опыт с NestJS и TypeScript.
-
Опыт оптимизации сервисов под высокую нагрузку и повышения отказоустойчивости распределённых систем.
-
Знакомство с Elasticsearch и инструментами APM.