Оператор Газпром ИД

Backend разработчик (java + go)

Не указана
  • Москва
  • Полная занятость
  • Удаленная работа
  • От 3 до 6 лет
  • Java
  • Spring Boot
  • Golang

Газпром ИД (ГИД)– технологичная молодая компания в структуре холдинга. В ГИД-Дате мы создаем различные data-продукты: рекомендательные и поисковые системы, сервисы аналитики и визуализации данных и многое другое.

В данный момент мы в поиске Backend разработчика на проект DataNova — ядро экосистемы Газпрома, обеспечивающее сбор, обработку и монетизацию клиентских данных (Единый Профиль, каталог данных, сегментация, ML-витрины). Масштаб — 10+ ТБ прироста в день, тысячи событий в секунду, десятки интеграций с дочерними обществами и внешними партнёрами (ГПБ, Premier, Rutube, МРГ и др.).

Роль разработчика backend golang + java подразумевает разработку микросервисов на golang, написание unit тестов, проведение code review коллег, участие в оценке задач. Вы будете поддерживать в рабочем состоянии или дорабатывать сервисы, написанные на java.

Зона ответственности

Разработка и архитектура

  • Проектирование и разработка высоконагруженных микросервисов на Golang (HTTP, gRPC)
  • Архитектурное планирование с применением Domain-Driven Design и гексагональной архитектуры
  • Проектирование OpenAPI 3.0 и gRPC спецификаций

Legacy поддержка и изучение миграции

  • Поддержка микросервисов на Java (Spring Boot 2.7+/3.x)
  • Изучение существующих Java-систем и их архитектуры
  • Участие в миграции Java-сервисов на Go
  • Рефакторинг кода для улучшения читаемости и сопровождаемости

Работа с данными и производительность

  • Написание оптимизированных SQL-запросов для PostgreSQL и ClickHouse
  • Проектирование миграций БД с учетом zero-downtime deployment
  • Оптимизация производительности для обработки больших объемов данных
  • Работа с event-driven архитектурой через Apache Kafka

Обеспечение качества и мониторинг

  • Написание комплексных unit/integration тестов с покрытием 80%+
  • Code review с фокусом на производительность, безопасность, архитектуру
  • Настройка observability (метрики, логи, трассировка)

Профессиональное развитие

  • Изучение лучших практик и архитектурных подходов
  • Участие в technical planning и оценке задач
  • Участие в knowledge sharing сессиях

Технологический стек

Основные языки и фреймворки

  • Основной стек: Go 1.21+ (generics, slog, новые runtime возможности)
  • Legacy поддержка: Java 17+, Spring Boot 3.x
  • API Design: OpenAPI 3.0, gRPC/Protocol Buffers
  • Тестирование: testify, testcontainers-go, JUnit 5

Данные и потоковая обработка

  • Базы данных: PostgreSQL 14+ (JSONB, partitioning), ClickHouse (MergeTree engines)
  • Кеширование: Redis 7+ (streams, modules), in-memory caching
  • Стриминг: Apache Kafka (exactly-once semantics, Schema Registry)
  • Сериализация: Avro, Protocol Buffers
  • Хранилища: S3/MinIO, распределенные файловые системы

Инфраструктура и DevOps

  • Оркестрация: Kubernetes 1.28+, Helm
  • CI/CD: GitLab CI/CD, Werf, ArgoCD
  • Мониторинг: Prometheus, Grafana, Tempo (OpenTelemetry)
  • Логирование: Loki, структурированное логирование (slog, zap)
  • Безопасность: Vault, OAuth2/OIDC, mTLS, gosec

Наши ожидания:

Обязательные навыки:

  • Хорошее знание Go 1.18+: основы generics, понимание модулей и workspaces
  • Базовое конкурентное программирование: горутины, каналы, основы sync пакета, context
  • Понимание проблем concurrency: знание race conditions, deadlocks
  • Основы управления памятью: понимание работы с указателями и сборщиком мусора
  • HTTP/gRPC сервисы: создание REST API, основы gRPC
  • Тестирование: unit тесты, table-driven tests, основы тестирования с testify

Базовые требования:

  • Java 8+/11+: основы современного Java, Stream API, понимание Optional
  • Spring Boot 2.x+: понимание основ автоконфигурации, dependency injection
  • Чтение кода: умение разбираться в существующем коде, базовый рефакторинг

Базы данных и хранилища

PostgreSQL:

  • Базовый SQL: написание запросов средней сложности, понимание JOIN
  • Основы оптимизации: понимание индексов, базовое использование EXPLAIN
  • PostgreSQL особенности: базовая работа с JSONB, arrays

ClickHouse:

  • Аналитические запросы: понимание column-oriented баз данных
  • Основы работы: простые запросы агрегации, GROUP BY
  • Изучение MergeTree: понимание принципов работы с большими данными

Apache Kafka:

  • Базовые концепции: producers/consumers, topics, partitions
  • Простая обработка: чтение и запись сообщений

Архитектурные компетенции

Domain-Driven Design:

  • Базовое понимание: bounded contexts, основы разделения на слои
  • Готовность изучать: агрегаты, доменные сервисы
  • Практическое применение: разделение domain/application/infrastructure слоев

Будет плюсом:

  • Опыт работы с Tarantool DB
  • Наличие своих публичных git репозиториев или участие в open source проектах
  • Опыт сборки и запуска docker контейнеров
  • Понимание принципов Kubernetes
  • Понимание принципов giltab CI/CD

Условия:

  • Формат работы - удаленка или гибридный график. Офис находится в Москве, Ленинградский пр-кт 72 к3, БЦ «Алкон».
  • Зарплата по рынку + квартальные премии – обсуждаются индивидуально.
  • Команда высокого уровня, доступ к уникальным сервисам Газпрома и партнёров.