ID 3497 — Senior Golang Developer. Проект: Х5.

Условия: локация — любая; удалённо; фулл тайм.

Требования:

  • Высшее техническое образование или подтверждённый индустриальный трек.
  • Опыт разработки от 5–7 лет, из них 3–4 года на Go в продакшене.
  • Глубокое владение Go: конкурентность, горутины, каналы, generics, модель памяти, понимание GC, pprof и оптимизации аллокаций, идиоматичный стиль (Effective Go).
  • Опыт высоконагруженных систем, проектирование микросервисов, работа с HTTP/gRPC API.
  • SQL: глубокие знания (PostgreSQL/MySQL), оконные функции, CTE, индексы; опыт миграций схем данных (golang-migrate, atlas).
  • Контейнеризация и оркестрация: Docker, Kubernetes, health checks (liveness/readiness), Helm.
  • CI/CD: настройка пайплайнов (GitLab CI, GitHub Actions), автоматизация деплоя и rollback.
  • Мониторинг и логирование: Prometheus, Grafana, Jaeger, ELK; настройка алертов, SLO/SLI.
  • Тестирование: unit, интеграционные тесты, property‑based тесты; использование моков (gomock, testify).
  • Опыт работы с брокерами сообщений (Kafka, RabbitMQ, NATS) и паттернами распределённых систем (Outbox, Saga, CQRS).
  • Опыт миграции с Django/Python на Go: чтение Django кода/ORM, трансляция моделей, backfill-скрипты, маршрутизация трафика между системами (Nginx/Kong, feature flags).
  • Опыт интеграции SSO (Keycloak/OAuth2/OIDC), настройка logout/инвалидации сессий.
  • Английский не ниже B2.

Дополнительные требования:

  • Soft skills: системное мышление, коммуникация, проведение tech design сессий и RFC.
  • Опыт миграции с Python на Go, знание Temporal/Cadence, Event Sourcing, Debezium/CDC, Foreign Data Wrappers.
  • Наличие Open Source проектов на Go будет плюсом.

Задачи:

  • Писать высокопроизводительный, безопасный и поддерживаемый код на Go с учётом конкурентности.
  • Определять и реализовывать контракты API (REST, gRPC, GraphQL), согласовывать их с командами.
  • Профилировать и оптимизировать производительность, работать с аллокациями и блокировками.
  • Покрывать код unit и интеграционными тестами, проектировать тестовые данные и фикстуры.
  • Работать со сложными схемами взаимодействия с БД, проектировать индексы и транзакции.
  • Интегрировать сервисы с очередями сообщений, реализовывать механизмы ретраев и дедлайнов.
  • Участвовать в проектировании и настройке CI/CD, контейнеризации и оркестрации.
  • Внедрять и поддерживать мониторинг, логирование и трейсинг; участвовать в инцидентах и постмортемах.
  • Вести код‑ревью, наставлять младших разработчиков и формировать стандарты качества кода.