Описание
Команда разрабатывает сервисы, которые обеспечивают сборку онлайн-заказов в магазинах и дарксторах 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.
Условия
Условий в вакансии нет.