Senior / TeamLead C# Unity Developer
Московская область, РоссияСеньор • Тимлид/Руководитель группы
Удаленная работа
Опыт работы более 5 летот 360 000 до 400 000 ₽
Опыт работы более 5 летот 360 000 до 400 000 ₽
Есть файл резюме (защищен)
Короткая ссылка: gkjb.ru/g1Ahn
О себе
На данный момент 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 отвечал за технический найм непосредственно в собственную команду.
Есть файл резюме (защищен)
Интересные кандидаты
Мы используем куки, потому что без кук наш сайт не работал бы, другие сайты не работали бы, да и вообще весь
интернет не работал бы
