UserWise Services
Principal Server Engineer
Автоматический пересказ вакансии на русском. Полный текст на языке оригинала и форма отклика — на сайте работодателя.
Principal Server Engineer для бэкенд-систем live-игр с аудиторией 1M+ DAU. Отвечает за производительность, масштабируемость и надёжность ядра инфраструктуры, включая схемы данных и реагирование на инциденты.
Задачи
- Проектировать, разрабатывать и поддерживать бэкенд-сервисы на Go/Python для live-игр с высоким трафиком
- Отвечать за проектирование схем БД и производительность запросов в PostgreSQL
- Развивать стратегию горизонтального масштабирования: оптимизация потребления CPU/памяти и снижение lock contention вместо вертикального масштабирования
- Профилировать и устранять утечки памяти, всплески CPU и дедлоки в продакшене
- Руководить root-cause расследованиями проблем производительности и сбоев — от обнаружения до устранения
- Проектировать и поддерживать слои in-memory кэширования и состояния (Redis/KeyDB/Memcached)
- Проектировать и проводить нагрузочные тесты для выявления точек отказа до релиза
Требования
- Глубокое знание Go и Python: внутреннее устройство языков, модели исполнения и тюнинг производительности (управление горутинами, тюнинг GC, zero-allocation техники)
- Уверенное владение PostgreSQL: проектирование масштабируемых схем, анализ планов запросов, оптимизация стратегии индексов, реальные примеры устранения узких мест через изменение структуры данных или архитектуры запросов
- Подтверждённый опыт масштабирования систем с 350k+ DAU и приоритет горизонтального масштабирования (эффективная сериализация/десериализация через Protobuf/MsgPack, снижение lock contention)
- Практический опыт профилирования: выявление и устранение утечек памяти, всплесков CPU и дедлоков
- Минимум 2 конкретных примера сложных проблем производительности или сбоев в продакшене с root cause analysis и методологией устранения
- Минимум 2 выпущенных продакшен-проекта в роли ключевого бэкенд-инженера, работающих с живым трафиком
- Практический опыт с Redis, KeyDB или Memcached: кэширование, rate-limiting, управление состоянием, включая борьбу с cache stampede, накладные расходы сериализации и проектирование политик вытеснения
- Здравый подход к TDD/BDD и практический опыт нагрузочного тестирования (например, Artillery)
- Практический опыт с фреймворком Nakama: кастомные модули на Go/Lua, матчмейкеры, storage engine, real-time multiplayer сокеты
- Практический опыт GCP/Google App Engine: деплой, мониторинг и масштабирование serverless/контейнерных сервисов
- Опыт 8+ лет
Условия
- Конкурентная зарплата в USD без налогов
- Оплачиваемый отпуск
- Ежегодные performance review
Навыки
- Go
- Python
- PostgreSQL
- Redis
- KeyDB
- Memcached
- Protobuf
- MsgPack
- Nakama
- Lua
- GCP
- Google App Engine
- GitHub Actions
- GitLab CI
- Prometheus
- Datadog
- WebSockets
- gRPC
- HTTP2
- UDP
- TCP
- Artillery
- TDD
- BDD