СписокРабот
Вся Россия
    Все города

    Senior Go Developer

    з/п не указана
    Россия
    Полный день Временная работа опыт от 3 лет
    Откликнуться на сайте работодателя

    Описание

    ID 3540
    GO
    Senior
    РФ/РБ
    "Старт 02.10.2026
    Привлечение на 12 мес
    зеркальный НДА
    возраст от 28+ лет❗️❗️

    Требования:
    """"* Образование: высшее техническое (CS/инженерия) либо подтверждённый индустриальный трек. ❗️❗️❗️
    * Опыт работы: от 5–7 лет в разработке на Go в продакшене.
    * Ключевые навыки: Go (базовая конкурентность, работа с каналами и горутинами), SQL (PostgreSQL/MySQL), Docker, CI/CD (GitLab CI/GitHub Actions), базовые инструменты мониторинга (Prometheus/Grafana).
    * Обязательно: опыт высоконагруженных систем, проектирование микросервисов, умение писать и поддерживать тесты, опыт работы с HTTP/gRPC API.
    * Английский: B2 и выше.

    Базовые требования (Hard Skills)

    1.1. Владение языком Go (углубленный уровень)
    • Глубокое понимание модели памяти, горутин и каналов. Опыт написания конкурентного кода без гонок данных (data races).
    • Опыт работы с generics (дженериками) в Go.
    • Понимание работы сборщика мусора (GC), умение читать профили памяти (pprof) и оптимизировать аллокации.
    • Строгое следование идиоматике Go (Effective Go), опыт написания чистых и простых для поддержки интерфейсов.
    • Написание исчерпывающих unit-тестов (табличный стиль), моков (gomock/testify) и интеграционных тестов.
    1.2. Работа с базами данных (Миграция с Django ORM)
    • PostgreSQL (обязательно): Глубокое знание SQL (оконные функции, CTE, индексы). Понимание различий между Django ORM и ручным SQL/sqlc/gorm.
    • Опыт написания эффективных миграций схем данных (инструменты: golang-migrate, atlas).
    • Умение использовать популярные ORM/Query builders (GORM, Ent, или sqlx/sqlc) и выбор подходящего инструмента под задачу (важно: не использовать ORM там, где нужен сырой SQL).
    • Понимание N+1 Query и стратегий их устранения в Go (в отличие от select_related в Django).
    1.3. Веб-фреймворки и API (Замена Django Views)
    • Опыт работы с веб-фреймворками Go: Gin, Fiber, Echo и стандартный net/http с роутерами (chi, gorilla).
    • Опыт проектирования RESTful API и написания спецификаций OpenAPI 3.0 / Swagger (генерация кода из спецификации или наоборот).
    1.4. Авторизация и аутентификация (замена Django Authentication на Keycloak)
    • Опыт интеграции Keycloak (или других SSO-решений на базе OAuth2/OIDC) в Go-приложения.
    • Глубокое понимание протокола OIDC (OpenID Connect) : поток авторизации через authorization_code, refresh_token, валидация ID Token, работа с .well-known/openid-configuration.
    • Умение реализовать middleware для валидации JWT-токенов, выпущенных Keycloak, с использованием публичных ключей (JWKS) — без внешних запросов к Keycloak на каждый запрос (кэширование JWKS).
    • Опыт настройки RBAC/ABAC на основе ролей и клиентских скоупов, передаваемых в токене (аналогично группам/пермишенам Django).
    • Умение организовать хранение сессий/состояния в Redis (например, для хранения refresh-токенов или user session) с корректной обработкой TTL и рефреш-стратегий.
    • Настройка logout и инвалидации сессий как на стороне Keycloak, так и на стороне Go-сервиса (через Admin API или backchannel logout).
    • Понимание безопасности: защита от CSRF, правильная настройка CORS при работе с SPA-фронтендом, использование http-only cookies для хранения access/refresh токенов.
    1.5. Микросервисная архитектура и коммуникация
    • Опыт с брокерами сообщений: Kafka, RabbitMQ или NATS (замена Celery + Redis на асинхронные воркеры на Go).
    • Понимание паттернов: Outbox, Saga, CQRS (в контексте миграции бизнес-логики).

    Источник: hirify · Опубликовано: 3 дня назад