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