Game Development Solutions Engineer
Santa Clara Valley (Cupertino), California, United States
Software and Services
Apple’s GPU Software team provides the graphics software foundation across all of Apple's innovative products, including iPhone, iPad, Apple TV, Mac, and Apple Watch. Our responsibilities encompass the frameworks, developer tools, and device drivers for the GPU and Display on all Apple hardware. This team announced Metal 2 which provides near-direct access to the graphics processing unit (GPU), enabling you to improve the graphics and compute potential of apps on iOS, macOS, watchOS, and tvOS. Building upon an efficient low-overhead architecture with precompiled shaders, fine-grained resource control, and multithreading support, Metal 2 further boosts performance by enabling the GPU to take more control of the rendering pipeline. Moving beyond just graphics, Metal 2 provides deep support for GPU-accelerated machine learning and offers improved developer tools that make it even easier to debug, optimize, and deploy Metal apps. On Mac, Metal 2 adds support for virtual reality (VR) rendering and external GPUs and provides new APIs and optimizations to help developers adopt these new technologies within their apps.
- Excellent written and verbal communication skills
- Possess familiarity with macOS, Unix, Xcode
- Programming in C/C++ and/or Objective-C is a requirement
- 5+ years of experience developing games, ideally on multiple platforms
- Proven fundamental knowledge of software engineering techniques, methodologies, and practices
The Game Technologies team is responsible for developing the gaming foundation as well as building real-time graphics based prototypes and applications that integrate with this and other graphics foundations. Responsibilities span building user-facing features all the way down to creating frameworks. Taking what we learn from application development and applying it to improving the frameworks, such as SpriteKit, SceneKit, Model I/O and Metal lets developers take their apps to the next level. Responsibilities: Drive understanding of tools and processes being used by game developers on Apple and other platforms. Identify build and runtime challenges that game developers face on Apple platforms. Prioritize developer challenges according to developer impact, user impact and Apple’s priorities. Investigate and evaluate potential solutions to developer challenges. Design and implement solutions to developer challenges in the form of Swift, Objective-C or C++ frameworks, tools, apps or example code. Collaborate with other teams within Apple when cross-functional solutions to developer challenges are required. Communicate developer needs to relevant internal stakeholders. Learn capabilities of existing Apple frameworks, tools and technologies related to games. Profile internal apps, tools and frameworks as necessary to identify and drive solutions to internal inefficiencies. Maintain and enhance existing Game Technologies frameworks and tools such as GameController framework SpriteKit and GUI game tools in the Xcode IDE.
Education & Experience
Technical BS/MS degree
- Understanding of game asset and build pipelines
- Experience working with multiple engines and third party game libraries
- Knowledgeable with profiling and optimization