Software Engineer, 3D Applications (AR/VR)
Santa Clara Valley (Cupertino), California, United States
Software and Services
Are you ready to explore a new application domain with a talented and collaborative team? Apple's Technology Development Group is seeking skilled 3D application developers to help us build graphically intense and highly interactive applications. This team is working with some of Apple's most advanced technologies including the augmented reality (AR) and virtual reality (VR) support offered in ARKit and Metal 2. As a member of our creative organization, you will have a uniquely rewarding opportunity to craft future products that will delight and inspire millions of people every day.
- Proficient in one or more of the following languages: C/C++, Objective-C, Swift
- Fundamental knowledge of software engineering technologies, methodologies, and practices
- Familiarity with 3D math, linear algebra, 3D geometry, graphics, and rendering
The ideal engineer for this role is comfortable working in a dynamic and creative team charged with exploring an uncharted and rapidly evolving domain. You will be researching and developing an entirely new application paradigm - a challenge that will demand rapid experimentation and prototyping without sacrificing code quality or attention to detail. You'll need a keen understanding of the state of the art in interactive 3D applications and an ambition to discover what the future holds in this space. We are building a passionate and diverse team that will span a broad range of application categories including productivity, communication, and entertainment.
Education & Experience
- Interest or proficiency in UI/UX design
- Proficiency in macOS, iOS, tvOS or watchOS development Experience with low-level graphics APIs (Metal, OpenGL, DirectX)
- Experience developing AR/VR applications
- Familiarity with ARKit
- Experience using iOS frameworks like UIKit, AVFoundation, Core Motion, Core ML, CloudKit, SiriKit, StoreKit, etc.
- Experience with Unix development, daemons, cross-process communication, etc