Обязанности:
1. Разработка и поддержка высоконагруженных сервисов на Go.
2. Создание и доработка микросервисов (REST/gRPC) и интеграций с внешними системами.
3. Оптимизация кода (рефакторинг, профилирование, устранение узких мест).
4. Участие в проектировании архитектуры приложений и выбор подходящих инструментов.
5. Настройка CI/CD в связке с DevOps-инструментами (минимальный уровень для самостоятельного деплоя).
6. Работа с контейнерами (Docker) и участие в сборке раннеров/воркеров.
Требования:
1. Уверенное знание Go:
• Опыт написания коммерческих приложений на Go от 3 лет.
• Понимание основных концепций (goroutines, channels, context, go modules).
• Умение работать с Go tools и стандартными библиотеками.
2. Опыт работы с базами данных:
• Знание реляционных (PostgreSQL/MySQL) и/или NoSQL (MongoDB, Redis) баз данных.
• Навыки оптимизации запросов, создания индексов, базовая работа с миграциями.
3. Минимальные навыки DevOps:
• Понимание основ Docker: создание Docker-файлов, запуск контейнеров, базовые навыки оптимизации образов.
• Базовый опыт работы с Kubernetes/Rancher (или аналогичными оркестраторами) – сборка воркеров, настройка окружений.
• Знание основ CI/CD (например, GitLab CI, GitHub Actions или Jenkins) – умение самостоятельно настраивать пайплайн сборки и деплоя.
4. Опыт работы с системами контроля версий:
• Git: умение работать с ветками, пул-реквестами, решение конфликтов.
5. Основы безопасности:
• Знание принципов безопасной разработки (OWASP Top 10, TLS/SSL, базовые настройки брандмауэра, политики доступа).
6. Уровень владения английским языком: чтение технической документации; способность писать и объясняться на уровне e-mail переписки.
Плюсом будет:
1. Опыт настройки мониторинга
2. Понимание работы Pub/Sub-систем
3. Знание других языков программирования (Java, TypeScript) на базовом уровне