Описание:
Мы - Кипрская аутсорсинговая геймдев студия. Работаем с 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-команды. Онлайн-занятия по английскому языку в небольшой группе.