Huawei Canada has an immediate 12-month contract opening for an Engineer.
About the team:
The Software-Hardware System Optimization Lab continuously improves the power
efficiency and performance of smartphone products through software-hardware
systems optimization and architecture innovation. We keep tracking the trends of
cutting-edge technologies, building the competitive strength of mobile AI,
graphics, multimedia, and software architecture for mobile phone products.
About the job:
-
Design, develop, and maintain robust, high-quality plugins for Unreal Engine
using C++ to extend core engine functionalities.
-
Integrate external AI and Machine Learning libraries (e.g., CANN) into the
engine, creating a seamless workflow for gameplay and character animation
teams.
-
Integrate and maintain a wide range of third-party SDKs, including video,
audio, networking, and analytics, ensuring stability and performance.
-
Contribute to the extension and optimization of Unreal Engine's core systems
to meet the unique demands of our projects.
-
Develop tools and editor extensions within Unreal Editor to streamline
workflows and enhance the productivity of designers, artists, and other
engineers.
-
Diagnose and resolve complex, system-level bugs and performance bottlenecks,
from low-level engine code to high-level integrations.
-
Provide expert-level technical support and documentation for the engine,
plugins, and integrated systems to our game development teams.
About the ideal candidate:
-
Expertise in modern C++ and a deep understanding of Unreal Engine's
programming paradigms (UObject, delegates, modules, build system).
-
Demonstrable experience integrating external C/C++ libraries into a large
codebase.
-
Strong understanding of the internal architecture of Unreal Engine, including
its rendering pipeline, task/threading model, and asset management system.
-
Proficient in debugging, profiling, and optimizing code for performance (CPU,
GPU, memory) using tools like Unreal Insights, RenderDoc, and
platform-specific profilers.
-
Excellent problem-solving skills and the ability to work collaboratively in a
multi-disciplinary team.
-
Bachelor's or higher degree in Computer Science, Engineering, or a related
field.
-
Familiarity with a scripting language like Python for tooling and automation
is an asset.