Обязанности: -Участвовать в проектировании и построении микросервисной архитектуры: от идеи до внедрения в продакшн; -Разрабатывать и поддерживать высоконагруженные сервисы (gRPC, REST, фоновые демоны); -Принимать участие в архитектурных решениях, оценивать сроки и ресурсы на реализацию задач; -Контролировать написание и поддержку технической документации; -Обеспечивать авторский надзор на всех этапах — от проектирования до эксплуатации; -Работать с распределёнными системами: очереди (RabbitMQ/Kafka), контейнеризация (Docker), оркестрация (Kubernetes); -Обеспечивать стабильность и производительность сервисов; -Лидировать процесс разработки в рамках методологии Agile\Scrum\Kanban; -Контролировать сроки реализации; -Распределять задачи из беклога на разработчиков согласно опыту и экспертизе; -Проводить ритуалы управления и развития небольшой команды, определять паттерны разработки, проводить код-ревью.
Требования: -Опыт разработки на Go от 4-х лет; -Глубокое владение Gо. Понимание goroutines, channels, context, memory model, конкурентного программирования. Опыт написания production-grade сервисов; -Опыт проектирования микросервисных и\или монолитных систем: API, интеграции, отказоустойчивость и масштабируемость; -Практический опыт построения high-load сервисов. Понимание работы под нагрузкой; -Понимание CI/CD , уверенное знание Docker, Kubernetes, Git, RabbitMQ/Kafka, Swagger/OpenAPI. Умение говорить с DevOps на одном языке; -Уверенное знание SQL (Postgre, MySQL). Опыт проектирования схем и оптимизации запросов; -Понимание принципов построения распределённых систем: конкурентность, параллелизм, отказоустойчивость; -Навыки написания чистого, тестируемого и поддерживаемого кода; -Инженерное мышление и ответственность за результат. Умение не просто писать код, а доводить фичи до продакшена; -Опыт управления командой разработки. Реальный leadership: найм, развитие, постановка задач, код-ревью, разрешение конфликтов; -Умение взаимодействовать с бизнесом. Находить решения и компромиссы.