We're seeking an enthusiastic software engineer to help design, implement, and optimize new animations for our custom animation rendering engine. It's a great opportunity to learn from a large team working in a huge codebase and inspire millions of loyal customers.
The team is responsible for Keynote's custom animation engine, and the builds and transitions that it powers. We're looking for someone to help improve the power, ease of use, and visual "wow" factor for millions of users on macOS, iOS, and the web.
The ideal candidate is passionate about creating high-quality, high-performance, and visually engaging graphics and animations.
Responsibilities include:
Adding new features to the Keynote animation engine
Profiling and optimizing performance of Keynote animations using state- of-the-art graphics techniques and research
Keeping up with the latest best practices in graphics research and development
Applying modern testing methodologies to a wide variety of animations and effects
Key Qualifications:
Ability to visualize and implement high-level animation and graphical concepts
Demonstrated experience with Metal, OpenGL, WebGL, Vulkan, or similar GPU API
Experience with shaders (GLSL, HLSL, Metal shading language, etc.)
Excellent communication skills
Adaptable, quick learner
Nice-to-haves:
Familiarity with computer graphics research (SIGGRAPH, GDC, etc.)
Development experience with macOS or iOS (Xcode, Instruments, etc.)
Experience with Core Graphics and Animation
Experience with Reality Kit, Scene Kit, Unity, Unreal, or another high-level 3D API
Experience with low-level media APIs (AV Foundation, Video Toolbox, etc.)
Experience with Motion, After Effects, or other animation editing tools
Experience with scripting, unit testing, and automated testing
Deep knowledge of GPU architectures
Artistic or design background
Education:
Degree in Computer Science or equivalent experience/skills