Software Engineer - Prototyping

Santa Clara Valley (Cupertino), California, United States


Role Number:200463649
Prototyping is an exploratory design team. We design software to explore what new hardware might bring to our current and future products. It is our job to invent and propose new features and sometimes entirely new products. Over the past decade we have incubated products like iPad, Pencil, and the Apple TV Siri Remote. We pioneered force and haptics for Multi-touch Trackpads, iPhone, and Apple Watch. We were instrumental in the interface design and development of multi-camera systems, LiDAR, TrueDepth, Face ID, Animoji, and depth photography. We express our ideas through pictures, animation, video and code. The work we do is on a 3–5-year timescale — if it makes it into a product...

Key Qualifications

  • Prototype. You will be creating interactive prototypes in close collaboration with designers. Prototypes will include custom interfaces with non-linear, multi-step interactions, 3D graphics, and lots and lots of settings to experiment with different behaviors. You will build these prototypes using Apple API and frameworks and you will distribute these prototypes internally on Apple devices with unreleased, unstable hardware and software. We often prefer rapidly prototyping an experience to “building the real thing” but knowing when a component deserves to be refined and made reusable is important.
  • Integrate. You will work with experimental internal frameworks and algorithms. This will often require Swift, Objective-C and C++. You will bridge the gap between our engineer and design collaborators to help shape both API and algorithm development
  • Enable. You will work on tools and frameworks that will enable less technical people to create interactive prototypes. This may involve integration with other commonly used design apps. 3D packages, scripting languages, and environments.


• Reliable. You do what you say you will do when you said you would do it. When things change, you tell people. • Communication. You can explain your work to people from different disciplines. You provide constructive feedback and encourage dialog and inclusion. • Open. You accept feedback on your work and act on it. You are willing to try anything – even things you don’t believe in. Yes and... • Invention. Unexpected ideas and solutions. Inspiration and techniques from other fields or disciplines. • Initiative. Ideas and concepts no one asked for. You just jump in and make things. You do not wait for instructions or need permission. • Divergence. You try multiple approaches and learn from them before deciding what to do next. Willing to share concepts that might challenge or displease. Willing to keep unpopular options alive to see where they go.

Education & Experience

BS or MS in Computer Science, Electrical Engineering, Robotics, Physics, Applied Mathematics or related fields

Additional Requirements

Pay & Benefits