Golang-разработчик

Дата размещения вакансии: 19.10.2025
Работодатель: ФГУП ПВС МВД России
Уровень зарплаты:
з/п не указана
Город:
Москва
Требуемый опыт работы:
От 1 года до 3 лет

1. Общие требования

Обязательное: Высшее образование (бакалавр/специалист) в области Компьютерных наук, Информационных технологий, Прикладной математики, Системного программирования или профессиональная переподготовка (сертифицированные курсы: Яндекс.Практикум и аналоги) + подтвержденный коммерческий опыт от 2 лет.

Язык и экосистема:

  • Go 1.21+ (строгая статическая типизация, конкурентность с горутинами и каналами, работа с контекстом, интерфейсы, тестирование)
  • Веб-фреймворки: net/http (как основа) + Gin для создания REST/WebSocket API.

Работа с данными:

  • SQL: database/sql + драйвер (например, pgx или pq для PostgreSQL) или ORM/библиотеки для работы с данными (SQLx, GORM, sqlc).
  • Миграции: Знание инструментов для миграций (Goose, Golang-migrate, GORM migrations).

Базы данных:

  • PostgreSQL (транзакции, подготовленные statements, индексы, оптимизация запросов через EXPLAIN ANALYZE).
  • Понимание репликации и шардинга (плюсом).

Инфраструктура:

  • Docker (мультистейд-сборка образов, оптимизация Dockerfile для Go, docker-compose, развертывание).
  • Nginx (базовая настройка, reverse proxy, SSL/TLS termination).
  • Очереди сообщений и кэширование: Опыт работы с Redis (pub/sub, кэш), RabbitMQ/Kafka (обязательно) для асинхронных задач и фоновых воркеров, реализованных на горутинах.

Другие технологии:

  • Git (ветвление, code review).
  • Linux (базовые команды, настройка окружения, сборка и деплой бинарных файлов).

2. Ожидаемый опыт:

  • Коммерческая разработка на Go от 1 года (предпочтительно высоконагруженные системы или бэкенд для веб-сервисов).
  • Реализация высокопроизводительных API (REST, WebSocket) с авторизацией (JWT/OAuth2).
  • Оптимизация SQL-запросов и работы с БД, понимание специфики работы с connection pool в Go.
  • Участие в проектировании архитектуры (микросервисы, монолит, чистая архитектура).

3. Ключевые задачи:

  • Разработка и поддержка высокопроизводительного бэкенд-API (включая автоматическую документацию через Swagger из кода, например, с помощью swaggo).
  • Написание конкурентных и параллельных решений с использованием горутин, каналов, sync.WaitGroup, sync.Mutex и т.д.
  • Контейнеризация сервисов и настройка деплоя (сборка статически скомпилированных бинарных файлов для целевых платформ).
  • Интеграция с внешними системами (гос. API, платежные шлюзы) с использованием контекста для таймаутов и отмены.

4. Принципы и методологии:

  • Следование SOLID, DRY, KISS. Написание чистого, эффективного и идиоматичного кода (Effective Go).
  • Понимание паттернов проектирования, актуальных для Go (например, Dependency Injection, Repository, Worker Pool, Factory и др.).
  • Работа в Agile/Scrum (оценка задач, планирование спринтов).
  • Умение писать эффективные unit- и integration-тесты с использованием стандартной библиотеки testing и популярных фреймворков (Testify).

5. Дополнительные плюсы:

  • Опыт с Kubernetes (или желание освоить).
  • Базовые знания frontend (TypeScript, React) для взаимодействия с командой.
  • Английский — уровень Pre-Intermediate+ (чтение документации).

6. Личные качества:

  • Аналитическое мышление (умение проектировать масштабируемые решения).
  • Готовность поддерживать legacy-код и рефакторить его.
  • Коммуникабельность (обсуждение ТЗ с аналитиками и фронтендом).

Условия работы:

  • Разработка корпоративной информационной системы (полный цикл).
  • Гибкий график (офис/гибрид).