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

Selectel·Russia·Удалённо·сегодня
Greenfield: сервис пишется с нуля, архитектурные решения принимает кандидат, легаси нет. Инфраструктура для LLM в живом продукте: сотни моделей, мультимодальность (изображения, аудио, видео, эмбеддинги). Нагрузка не про CRUD. Это долгоживущие стриминговые соединения и тела запросов по 10+ МБ, то есть задачи на память, конкурентность и таймауты. Небольшая команда и короткий путь от решения до прода, прямое влияние на продукт Selectel: собственные ДЦ и облако, возможность настройки кастомных решений

Основные задачи

  • Спроектировать и запустить data plane на Go. В его задачи входят приём OpenAI-совместимых запросов, авторизация по виртуальным ключам, маршрутизация и fallback между провайдерами, стриминг ответов
  • Поэтапно перенести из текущего бэкенда фичи в новый бэкенд. Миграция должна пройти без даунтайма для клиентов
  • Построить синхронизацию конфигурации из админки в data plane: локальный кэш ключей и политик, инвалидация, работа при недоступности control plane
  • Довести сервис до 500-1000 RPS: нагрузочные тесты, профилирование, SLO и алертинг
  • Покрыть тестами критичные пути (биллинг, роутинг и fallback, авторизация), участвовать в разборе инцидентов и ревью

Мы ожидаем

  • Опыт коммерческой разработки на Go в продакшене. Уверенное владение goroutines, channels, context и sync, понимание работы GC и аллокаций, умение профилировать через pprof и race detector
  • Опыт разработки сетевых HTTP-сервисов или прокси. Знание net/http, connection pooling, таймауты, retries с backoff и graceful shutdown
  • Понимание как LLM используются на практике и как это выглядит в трафике
  • Observability: метрики в Prometheus, структурированные логи, трейсинг через
  • OpenTelemetry. Умение найти узкое место по метрикам и профилям
  • Опыт с Docker и Kubernetes на уровне пользователя: Helm, probes, requests/limits, HPA

Будет плюсом

  • Опыт с LLM API (OpenAI, Anthropic Messages): стриминг, tool calling, подсчёт токенов. Альтернатива - опыт с API-гейтвеями (Envoy или самописными)
  • Опыт работы с ClickHouse и/или Kafka для потока логов и биллинговых событий
  • Опыт с Rate limiting, квоты, учёт потребления: Redis, token bucket, консистентный подсчёт при ретраях и обрывах
  • Опыт постепенной миграции монолита: strangler pattern, shadow traffic, canary, feature flags
  • Опыт работы с TypeScript

Похожие вакансии

Другие вакансии Selectel