Описание
Мы - Кипрская аутсорсинговая геймдев студия. Работаем с 2018 года. Мы разрабатываем под ключ мобильные игры. Также занимаемся поддержкой существующих игр, прототипированием и портированием. Сейчас мы запустили разработку ААА мобильного шутера (мобильная версия известной ПК игры). На этот проект ищем опытного и автономного C#/.NET разработчика на серверную часть. Основной фокус — развитие бэкенда, микросервисная архитектура, стабильность и производительность.
Требования
•C# и .NET: 5+ лет коммерческой разработки на C# / .NET на нагруженных онлайн-сервисах, с экспертным уровнем в асинхронности, многопоточности, управлении памятью и GC, ASP.NET Core и профилировании production — на глубине, достаточной, чтобы принимать архитектурные решения, находить причины сложных проблем и оценивать чужой код на ревью
•Глубокое знание .NET 10 (производительность, новые фичи, внутреннее устройство CLR, async/await, многопоточность)
•Чистый код: практическое применение лучших инженерных практик и паттернов (Clean Architecture, DDD, SOLID)
•API и интеграции: опыт реализации и поддержки API на базе REST, gRPC, WebSocket
•Опыт работы с UDP и unsafe
•Проектирование распределённых систем: границы сервисов и транзакций, идемпотентность, eventual consistency, поведение при частичных отказах
•Подтверждённый опыт масштабирования распределённых систем под нагрузкой — от нескольких тысяч RPS и десятков тысяч одновременных подключений, с конкретикой по узким местам
•Умение находить и устранять узкие места до того, как их заметят игроки
•Обеспечение отказоустойчивости: предотвращение каскадных отказов между сервисами, деградация под перегрузкой
•Проектирование схем данных под реальные бизнес-процессы и паттерны доступа
•PostgreSQL или MS SQL Server: написание и оптимизация запросов, индексы, планы выполнения, блокировки, миграции на живой базе под нагрузкой
•Опыт с нереляционными хранилищами: MongoDB или аналог
•Redis: структуры данных, стратегии инвалидации, ограничения распределённых локов
•Событийный стриминг и очереди: Kafka / NATS / RabbitMQ — гарантии доставки, партиционирование, дубликаты, retry, DLQ
•Production-опыт с Kubernetes: ресурсы и лимиты, probes, HPA, StatefulSet, автоскейлинг, отладка проблем в кластере
•Docker: сборка и деплой контейнеризованных сервисов
•Уверенная работа хотя бы с одним облачным провайдером: AWS / GCP / Azure
•Самостоятельное построение CI/CD-пайплайнов (GitHub Actions / GitLab CI / TeamCity): сборка, тесты, деплой
•Observability на практике: Prometheus, Grafana, Alertmanager, распределённая трассировка, централизованные логи; умение построить дашборд и алерт
•Автоматизированное тестирование: unit- и интеграционные тесты
•Уверенная работа с системами контроля версий и код-ревью
Будет плюсом
•Опыт работы с игровым бэкендом: игровые сессии, матчмейкинг, серверная авторитетность, оркестрация stateful game servers
•Опыт эксплуатации realtime-мультиплеера под нагрузкой
•Интеграции с игровыми платформами: Epic Online Services, PlayFab, платформенные сторы
Условия
•Удаленная работа из любой точки Европы и Азии
•Стабильная зарплата в долларах
•Никакой бюрократии и долгих согласований
•Небольшие, дружные agile-команды
•Онлайн-занятия по английскому языку в небольшой группе