Senior / TeamLead C# Unity Developer

Московская область, Россия
Сеньор • Тимлид/Руководитель группы
Информационные технологии • Разработка • Backend • Fullstack • C#
Удаленная работа
Опыт работы более 5 лет
от 360 000 до 400 000 ₽
Есть файл резюме (защищен)
О себе

На данный момент Senior C# Unity Developer.

Мои компетенции и опыт

Senior / TeamLead C# Unity Developer

ROB RUN · PC / Steam ( нужен доступ к резюме ) (server)

Last Day GO: Run & Survive · Android / iOS ( нужен доступ к резюме ) (server+ DSL + client DSL tooling + codegen)

MiniLife: Tournament · PC / Steam ( нужен доступ к резюме ) (server + client + export codegen)
 

ROB RUN:
Разработка серверной части масштабной multiplayer crime sandbox / extraction-игры с PvP/PvE, кланами, территориями, базами, экономикой и взаимодействием большого количества игроков.

Проектировал и реализовывал серверную логику игровых механик и многопользовательских систем.

Разрабатывал и оптимизировал взаимодействие между игровыми серверами и сервисами, включая RPC, маршрутизацию и работу с распределённым состоянием.

Работал с конкурентным доступом к данным, согласованностью состояния и транзакционными сценариями в распределённой инфраструктуре.

Оптимизировал серверную производительность, межсерверный трафик, сериализацию и критичные участки игровой логики.

Диагностировал сложные проблемы конкурентности и рассинхронизации состояния в межсерверных сценариях.

Стек: C#, .NET, Orleans-like distributed framework, Riak, Service Discovery, RPC, distributed state, distributed transactions, 2PC, SAGA, server-authoritative gameplay, profiling, monitoring.

Last Day GO: Run & Survive:
Основная специализация — серверная архитектура и инфраструктура для реализации игровых механик мобильной survival-игры.

Разработал DSL и общий client/server runtime для декларативного описания и детерминированного исполнения игровой логики. Архитектура позволяла клиенту продолжать игру без постоянного соединения с последующей серверной проверкой совершённых действий.

Выявил и устранил структурную проблему серверных данных: на стресс-тестах ёмкость тестового сервера выросла с ~2 800 до ~9 000 эмулируемых клиентов при сохранении 10–15% резерва памяти.

Инициировал вынос высоконагруженных подсистем из существующей Orleans-like/Riak инфраструктуры в специализированные микросервисы на стандартном .NET-стеке.

Вынес высоконагруженную систему matchmaking в легковесные многопоточные gRPC-сервисы с PostgreSQL, снизив нагрузку на legacy-инфраструктуру и существенно упростив тестирование, мониторинг, аналитику и health checking.

На Unity-клиенте разрабатывал кодогенерацию и инструменты для работы геймдизайнеров с DSL, занимался Addressables, доставкой контента, профилированием и техническим tooling.

Стек: C#, .NET, Unity, UniTask, Addressables, custom DSL/shared runtime; Orleans-like distributed framework, Riak, 2PC, SAGA; нужен доступ к резюме Core, .NET Aspire, gRPC, Protocol Buffers, PostgreSQL, Prometheus.

MiniLife: Tournament:
Разработка многопользовательской MOBA/стратегии с раннего прототипа до выпуска в Steam в составе команды из 4 программистов.

Разрабатывал серверную игровую логику, matchmaking, party-систему, управление матчами и специализированный серверный 2D-физический движок.

Проектировал и оптимизировал распределённые серверные системы: межсерверное взаимодействие, хранение и синхронизацию состояния, транзакционные сценарии.

На Unity-клиенте разрабатывал игровые механики, кодогенерацию, инструменты импорта/экспорта данных и Unity Editor tooling.

Занимался профилированием и оптимизацией клиента и сервера, интеграцией аналитики.

В рамках отдела прототипирования тесно взаимодействовал с геймдизайнерами, художниками, аниматорами и техническими художниками; проводил code review и занимался менторством Junior-разработчиков.

Стек: C#, .NET, Unity, ECS, Zenject/DI, UniTask, Addressables, Unity Profiler; Orleans-like distributed framework, Riak, Service Discovery, RPC, 2PC, SAGA.
нужен доступ к резюме нужен доступ к резюме нужен доступ к резюме нужен доступ к резюме
Дополнительно: регулярно участвовал в техническом найме C#-разработчиков. Проводил server/backend-секцию собеседований совместно с другим интервьюером либо самостоятельно заменял Team Lead при проведении технического интервью. На позиции Team Lead отвечал за технический найм непосредственно в собственную команду.



Есть файл резюме (защищен)


Интересные кандидаты