- Образование: высшее техническое (CS/инженерия), либо подтверждённый индустриальный трек;
Неизвестный работодатель · На сервисе с: 27.08.26 16:48
#аутстаф
Ищем 1 Senior Golang разработчик
(ID ••••••••)
Требования:
- Образование: высшее техническое (CS/инженерия), либо подтверждённый индустриальный трек;
- Опыт работы: от 5–7 лет в разработке, из них 3–4 года на Go в продакшене;
- Ключевые навыки: Go (базовая конкурентность, работа с каналами и горутинами), SQL (PostgreSQL/MySQL), Docker, CI/CD (GitLab CI/GitHub Actions), базовые инструменты мониторинга (Prometheus/Grafana);
- Опыт высоконагруженных систем, проектирование микросервисов, умение писать и поддерживать тесты, опыт работы с HTTP/gRPC API;
- Английский: B2 и выше;
- Владение языком Go (углубленный уровень);
- Глубокое понимание модели памяти, горутин и каналов. Опыт написания конкурентного кода без гонок данных (data races). ;
- Опыт работы с generics (дженериками) в Go;
- Понимание работы сборщика мусора (GC), умение читать профили памяти (pprof) и оптимизировать аллокации;
- Строгое следование идиоматике Go (Effective Go), опыт написания чистых и простых для поддержки интерфейсов;
- Написание исчерпывающих unit-тестов (табличный стиль), моков (gomock/testify) и интеграционных тестов;
- Работа с базами данных (Миграция с Django ORM);
- Глубокое знание SQL (оконные функции, CTE, индексы). Понимание различий между Django ORM и ручным SQL/sqlc/gorm;
- Опыт написания эффективных миграций схем данных (инструменты: golang-migrate, atlas);
- Веб-фреймворки и API (Замена Django Views);
- Опыт работы с веб-фреймворками Go: Gin, Fiber, Echo и стандартный net/http с роутерами (chi, gorilla);
- Опыт проектирования RESTful API и написания спецификаций OpenAPI 3.0 / Swagger (генерация кода из спецификации или наоборот);
- Опыт интеграции Keycloak (или других SSO-решений на базе OAuth2/OIDC) в Go-приложения;
- Настройка logout и инвалидации сессий как на стороне Keycloak, так и на стороне Go-сервиса (через Admin API или backchannel logout);
- Микросервисная архитектура и коммуникация;
- Опыт с брокерами сообщений: Kafka, RabbitMQ или NATS (замена Celery + Redis на асинхронные воркеры на Go);
- Понимание паттернов: Outbox, Saga, CQRS (в контексте миграции бизнес-логики);
- Стратегия миграции (Strangler Fig Pattern);
- Понимание паттерна "Strangler Fig" (удушение монолита). Умение предлагать поэтапную замену модулей Django на Go-сервисы без остановки продакшена;
- Опыт настройки маршрутизации трафика между старой (Python) и новой (Go) системой (например, через Nginx/Kong или feature-флаги);
- Умение транслировать Django Models в структуры Go (типы данных: преобразование Django DateTime/TZ, Decimal, JSONField);
- Опыт решения проблем миграции состояния (stateful приложений). Написание скриптов бэкфилла (backfill) для данных;
- Управление зависимостями и модульность;
- Использование Go Modules (go mod);
- Контейнеризация и CI/CD;
- Работа с легаси: Умение читать код на Python (Django) для того, чтобы корректно переносить бизнес-правила;
- Опыт настройки Health Checks (liveness/readiness probes) для Kubernetes;
Задачи:
- Писать высокопроизводительный, безопасный и поддерживаемый код на Go с учётом особенностей конкурентности (горутины, каналы, примитивы синхронизации);
- Определять и реализовывать контракты API (REST, gRPC, GraphQL), согласовывать их с другими командами;
- Глубоко оптимизировать производительность: профилировать, выявлять и устранять узкие места, работать с аллокациями памяти и блокировками;
- Выстраивать надёжную стратегию тестирования: покрывать код юнит, интеграционными и property‐based тестами, проектировать тестовые данные и фикстуры;
- Работать со сложными схемами взаимодействия с БД (PostgreSQL, MySQL, Redis и др.): проектировать индексы, оптимизировать запросы, реализовывать транзакции и паттерны распределённых блокировок;
- Интегрировать сервисы со внешними системами и очередями сообщений (Kafka, RabbitMQ, NATS), обрабатывать ошибки и реализовывать механизмы повторных попыток и дедлайнов;
- Участвовать в проектировании и настройке CI/CD‐пайплайнов, автоматизировать деплой, валидацию и rollback;
- Настраивать контейнеризацию (Docker) и оркестрацию (Kubernetes), работать с Helm‐чартами, определять resource requests/limits, readiness/liveness probes;
- Внедрять и поддерживать инструменты мониторинга, логирования и трейсинга (Prometheus, Grafana, Jaeger, ELK), настраивать алерты и SLO/SLI;
- Вести код‐ревью, наставлять младших разработчиков, формировать стандарты качества кода и best practices в команде;
- Управлять техническим долгом: планировать рефакторинг, оценивать риски и влияние изменений, приоритизировать задачи;
- Участвовать в разборе инцидентов, проводить постмортемы, предлагать и внедрять меры по предотвращению повторных сбоев.
О проекте:
Крупная ритейл компания
Локация: Любая
Время работы: UTC+3
Гражданство: Любое
Формат: Удаленно
Срок привлечения: до ••••••••
📨 Регистрируйтесь, загружайте резюме на •••••••• и оставляйте отклик на запрос
❗️Все актуальные запросы — ••••••••
HireSeeker собирает вакансии со всех площадок и присылает только релевантные. Бесплатно.