Мы ищем опытного Senior Go-разработчика для проектирования, развития и поддержки высоконагруженных и распределенных микросервисных систем. Нам важен специалист с сильной архитектурной базой, глубоким пониманием внутренних механизмов Go и проактивным подходом к инженерным процессам.
От 5 лет коммерческого опыта разработки на Go (Golang) в продакшене.
Глубокая экспертиза в философии языка: лаконичность, явность, эффективность, идиоматичный код и конкурентность.
Опыт проектирования и развития высоконагруженных (Highload) и распределенных систем.
Развитые Soft Skills: умение аргументировать технические решения, менторить коллег, проводить системный Code Review и проактивно влиять на продукт.
1. Ядро Go и Hard Skills
Concurrency & Synchronization: Идеальное владение горутинами, каналами, select, пакетом sync (Mutex, RWMutex, WaitGroup, Pool, atomic). Глубокое понимание Race Conditions и умение проектировать thread-safe архитектуру.
Go Internals (Advanced level):
Понимание модели памяти Go, работы стека и кучи, механизмов Escape Analysis.
Опыт взаимодействия с runtime: работа планировщика (Scheduler), управление памятью и сборка мусора (GC), профилирование и трассировка (pprof, go tool trace).
Понимание внутреннего устройства интерфейсов (iface, eface).
Осознанное применение рефлексии (reflect) и дженериков (Generics).
Тестирование: Покрытие кода Unit-, Integration- и E2E-тестами. Опыт применения testing, testify, gomock/mockery, использование табличных тестов (Table-Driven Tests).
Управление зависимостями: Уверенная работа с go mod, SemVer и стратегиями вендоринга.
2. Инфраструктура и смежный стек
Протоколы и API: Глубокие знания и практический опыт проектирования gRPC (включая Streaming) и REST (OpenAPI / Swagger). Опыт работы с GraphQL будет плюсом.
Базы данных:
SQL: Опыт работы с database/sql, sqlx или ORM (GORM). Оптимизация пулов соединений, написание сложных/эффективных запросов, управление миграциями (goose, golang-migrate).
NoSQL: Продакшен-опыт работы с Redis (паттерны кэширования, структуры данных), MongoDB, Cassandra.
Брокеры сообщений: Понимание паттернов Pub/Sub, Event Streaming и опыт работы с Kafka, RabbitMQ, NATS.
Микросервисная экосистема:
Контейнеризация и оркестрация: Эффективная сборка Docker-образов (multi-stage builds), опыт работы с Kubernetes (Pods, Deployments, Services, ConfigMaps/Secrets).
Service Mesh: Опыт взаимодействия с Istio / Linkerd будет существенным преимуществом.
Observability (Мониторинг, Логирование, Трейсинг): Сбор метрик в Prometheus, настройка дашбордов в Grafana. Структурированное логирование (slog, zap, zerolog). Распределенный трейсинг через OpenTelemetry / Jaeger.
3. Архитектура и проектирование
Практическое применение архитектурных подходов: Clean Architecture, Hexagonal Architecture, Domain-Driven Design (DDD).
Знание и применение паттернов микросервисной архитектуры: CQRS, SAGA, Circuit Breaker, Retry, Rate Limiting, Backoff.
Проектирование систем на базе Event-Driven Architecture (EDA).
Опыт проведения декомпозиции монолитных систем на микросервисы.
Понимание и построение многоуровневых систем кэширования (in-memory, распределенные кэши).
4. Процессы и методологии
Git: Уверенное владение Git (complex merges, rebase, gitflow).
CI/CD: Понимание принципов Continuous Integration / Delivery, опыт настройки и редактирования пайплайнов (GitLab CI, GitHub Actions, Jenkins).
Инженерные практики: Культура конструктивного Code Review, знание Agile/Scrum/Kanban.
SRE & Operations: Базовое понимание метрик надежности (SLI / SLO / SLA, Error Budgets).
Будет плюсом:
Опыт разработки сетевых приложений низкого уровня (TCP / UDP, собственная реализация сетевых протоколов).
Опыт коммерческой разработки на других языках (Java, C++, Python) для понимания и сравнения системных парадигм.
Москва
от 4500 USD
Клируэй Текнолоджис
Москва
до 450000 RUR
Москва
до 600000 RUR