Job Description
Apple's Human Interface Devices (HID) group develops innovative ways to interact with Apple products. We work on nearly every product line, delivering technologies like AirPods, iPhone, iPad, Mac, and other future Apple input technologies.
We're looking for an algorithms engineer to help build the next generation of human-computer interactions from the ground up. We are an eclectic group with backgrounds in computer science, controls, human factors, signal processing, and more. As a member of this team, you will work in the earliest stages of development, whether defining entirely new interactions or bringing new sensing technologies to life for the first time, making foundational decisions that determine how future Apple products are experienced.
As an Algorithms Engineer, you will prototype and define interactions end-to-end, investigating emerging technologies and new interaction paradigms in close collaboration with HW, SW, and design partners. You will develop and validate algorithmic concepts, and drive the technical work needed to bring these ideas to life. You will take prototypes from concept to production, writing code that ships in Apple products used by millions of people every year. You are self-motivated, comfortable operating in ambiguity, and quick to build relationships across disciplines. You thrive in the space where the problem isn't fully defined and the solution doesn't exist yet.
Preferred Qualifications
Experience developing for real-time systems
Experience developing interactions or input technologies
Experience with Objective-C and/or Swift
Experience developing software with agentic workflows
Minimum Qualifications
Experience in early-stage algorithm development, from concept through validation
Strong algorithm and mathematics fundamentals — state machine design, statistics, signal processing, machine learning, etc.
Experience programming in C++ and Python
Able to communicate clearly and collaborate with cross-functional teams
Excellent problem solving and root cause analysis skills
BS/MS/PhD in Computer Science, Electrical Engineering, Human Computer Interaction, or related field / equivalent experience ; 5+ years of experience in a related field.