Interaction Testing Framework and Prototyping Engineer

Santa Clara Valley (Cupertino), California, United States
Hardware

Summary

Posted:
Role Number:200323397
The Human Interface Devices (HID) team is looking for an Interaction Software Engineer to help prototype and develop high configurable applications for testing input. These prototypes and test software will play a meaningful role in the development of new Apple input experiences.

Key Qualifications

  • 2+ years of software development experience, including software architecture design, reliability, and scaling
  • Expertise in modern C++, proficiency in python (i.e. for scripting, automation)
  • Experience building application frameworks (modular software dev, configurable component design)
  • Experience developing testing strategies (unit/regression/fuzz) and continuous integration pipelines (eg. Jenkins)
  • Excellent problem solving and root cause analysis skills
  • Understands and advocates principles of good software and system design
  • Able to communicate clearly and collaborate with multi-functional teams

Description

In this role, you will: Develop an input and interaction testing application framework for quantified experiences and human performance benchmarking Build configurable test modules and tools that can be shared across teams Coordinate and maintain a library of test configurations and recorded datasets Maintain common development/debugging workflows used by the team Develop and maintain testing strategies to ensure flawless integration of algorithms Develop triage methodology for incoming issues, including debug tooling

Education & Experience

BS/MS/PhD in CS/CE or related field

Additional Requirements

  • The following are not required, but are a plus and may help you be more successful:
  • Experience with C#, Objective-C and/or Swift
  • Experience developing software for Augmented Reality (AR) or Virtual Reality (VR)
  • Experience with 3D mathematics and/or physics/game engines such as RealityKit, Unity
  • Experience developing for input or interaction
  • Experience with OpenXR, WebXR