Назад
4 дня назад

Golang разработчик

Формат работы
remote (только Russia)
Тип работы
project
Грейд
senior
Английский
b2
Страна
Russia/Belarus
vacancy_detail.hirify_telegram_tooltipВакансия из Telegram канала -

Мэтч & Сопровод

Покажет вашу совместимость и напишет письмо

Описание вакансии

TL;DR
Golang разработчик (Go/Django migration): Разработка и поэтапная миграция высоконагруженных Django-систем на Go-микросервисы с акцентом на конкурентность, производительность, API и сохранение бизнес-логики. with an accent on проектирование микросервисов, миграцию данных и интеграцию OAuth2/OIDC; Focus on безопасной маршрутизации трафика между старой и новой системами, устранении data races и оптимизации памяти.
ID 3497
Golang разработчик
Senior
опыт от 7-8 лет в go ❗️
возраст 28+ лет❗️

Локация РБ или РФ, Дружественные

Кол-во специалистов
1
Длительность проекта
До 31.12.2026
Объем участия в проекте
Высокая нагрузка
~160 ч/мес
Формат взаимодействия
Удаленно
Доступность специалиста
по МСК
Требуемое гражданство специалиста
любое

Обязательные требования
- Образование: высшее техническое (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;

Дополнительные требования
- Soft Skills (Критично для этого проекта);
- Системное мышление: Понимание, что переписывание — это не просто "перевод синтаксиса", а рефакторинг архитектуры;
- Коммуникация: Опыт проведения tech design сессий и RFC (Request for Comments) внутри команды: умение предложить архитектурное решение, дать возможность коллегам его покритиковать и совместно прийти к лучшему варианту;
- Адаптивность: Готовность к тому, что бизнес-логика в Django часто "размазана" по сигналам (signals) и миксинам — это нужно будет переосмысливать с нуля.

Будьте осторожны: если работодатель просит войти в их систему, используя iCloud/Google, прислать код/пароль, запустить код/ПО, не делайте этого - это мошенники. Обязательно жмите "Пожаловаться" или пишите в поддержку. Подробнее в гайде →

Текст вакансии взят без изменений

Источник -