Основная деятельность - разработка игр с использованием игрового движка Unity3D.
Примеры кода можно посмотреть на гитхаб профиле - https://github.com/IvanDoykin (обновлял давно)
Что касается опыта в Unity:
- Понимаю пайплайн и воркфлоу ведения проекта (Prefab variants, структуризация контента в сцене и в проекте в целом);
- Понимаю клиент-серверное взаимодействие (имею опыт разработки сетевых проектов);
- Умею работать со встроенным звуковым микшером, так же умею работать с FMOD;
- Имею опыт работы с DI-контейнером Zenject;
- Умею писать комплексную логику игровых ботов и AI, также работал с готовым решением - Invector;
- Понимаю процесс отладки и оптимизации игры (рендеринг, оптимизация кода);
- Уверенно работаю с Mecanim'ом (Animation override controller, IK, SubStates, BlendTree, RootMotion, StateMachine Behaviour). Также долгое время работал с физической симуляцией ragdoll - Puppet Master;
- Умею работать с DoTween и аналогичными твинерами;
- Умею писать Edior компоненты (Property Drawers, Editor Window, Custom Inspectors, Attribute Property Drawers).
- Есть коммерческий опыт в разработке VR-проектов;
- Умею писать Edior компоненты (Property Drawers, Editor Window, Custom Inspectors, Attribute Property Drawers).
Что касается самого C#:
- Умею писать Unit-тесты;
- Работал с Roslyn кодогенерацией, писал небольшой кусок анализатора проекта;
- Уверенно владею ООП, знаю и использую базовые паттерны проектирования;
- Понимаю SOLID;
- Знаю как устроена многопоточность и асинхронность;
- Умею работать со стандартными структурами данных, так же понимаю их внутреннее устройство.
Отдельные полезные навыки:
- Умею работать в ОС Linux, могу развернуть CI/CD через Github Actions, а также настроить Cache Server для кеширования данных импорта и билда;
- Участвовал в подборе новых программистов, проводил с ними техническое интервью;
- Составлял договорённости для слаженной работы в небольшой команде программистов, в отдельных случаях не только с ними (дизайн-документы, стайлгайды, документ по архитектуре проекта);
- Проводил code review (и сам подвергался такой же практике);
Умею работать с таск-трекерами по типу Jira, Trello, также понимаю, как эстимировать задачи.
Имею базовый уровень знания английского, которого достаточно для понимания технической литературы. При необходимости могу прокачать английский до более продвинутого уровня.