Разработчик на Unreal Engine
Описание
Обязанности: • Разработка и поддержка архитектуры проекта на Unreal Engine 5• Программирование игровых систем на C++• Принятие технических и архитектурных решений• Руководство командой программистов и распределение технических задач• Проведение Code Review и контроль качества кода• Проектирование масштабируемых игровых систем• Разработка систем с использованием Data-Driven подхода и событийной архитектуры• Создание и развитие внутренних инструментов• Работа с Subsystems, системой событий, Gameplay Framework и базовыми компонентами Unreal Engine• Разработка и поддержка UI на UMG и CommonUI• Интеграция игровых механик совместно с геймдизайнерами• Реализация игровых взаимодействий, AI, анимаций и Sequencer• Оптимизация производительности проекта• Поиск и устранение сложных технических проблем• Планирование технического развития проекта и технического долга• Наставничество и техническая поддержка команды• Участие в подготовке проекта к релизу Требования: • 3+ лет коммерческого опыта разработки на Unreal Engine 5• Отличное знание C++• Опыт работы в роли Senior или Lead Unreal Developer• Хорошее понимание Blueprints• Глубокое понимание архитектуры Unreal Engine• Уверенное знание UObject Model, Garbage Collection, Reflection System, UPROPERTY, UFUNCTION, UCLASS и работы с памятью• Опыт работы с Actor Framework и Component Model• Уверенное понимание GameInstanceSubsystem, WorldSubsystem, EngineSubsystem и LocalPlayerSubsystem• Опыт работы с Single-cast, Multicast и Dynamic Delegates• Опыт построения событийно-ориентированной архитектуры• Понимание Data-Driven Design, Event Bus Architecture, Dependency Injection и модульной архитектуры• Знание SOLID, DRY и KISS• Опыт проектирования масштабируемых и поддерживаемых игровых систем• Навыки Code Review, технического планирования и оценки задач Условия: Конкурентоспособная заработная плата• Выплаты один раз в месяц• Оформление по ГПХ• Полностью удалённая работа• График 5/2• Гибкий график и возможность самостоятельно планировать рабочее время• Работа в небольшой команде без лишней бюрократии• Возможность напрямую влиять на техническое развитие проекта• Свобода выбора технических решений при соблюдении качества и производительности• Участие в формировании стандартов разработки, архитектуры и внутренних инструментов