Job Details
Job Information
Other Information
Job Description
Weekly Hours: 40
Role Number: 200647331-0836
Summary
Are you interested in working on tools and software that directly enable hardware validation? Our Hardware Test Engineering team is evolving our Design for Test (DFT) methodology, and we're building the software infrastructure to support it effectively.
Description
This is an opportunity to develop software tools that control and automate hardware testing. You'll work on designing & building maintainable software that directly interfaces with test hardware and equipment. This isn't high-level application software—it's hands-on software engineering focused on creating tools that manage the actual execution of hardware tests.
If you enjoy hands-on software development with clear real-world impact, and you're interested in the intersection of software and hardware testing, this role offers meaningful work with tangible results.
Minimum Qualifications
BS EE or CS
7+ years experience
Understanding of software design principles including design patterns, separation of concerns, and writing maintainable code
Proficiency in C++ for systems-level development and integration
Proficiency in one higher-level programming language such as Python or similar for application-level development
Proficiency in one scripting language (Lua preferred)
Experience in designing databases
Solid grasp of object-oriented design principles including encapsulation, polymorphism, inheritance hierarchies
Ability to read and interpret schematics to understand circuit behavior and identify relevant test points
Understanding of server-client architecture and socket programming for building networked test systems
Preferred Qualifications
Basic understanding of electrical engineering concepts including voltage, current, digital logic fundamentals, and signal integrity—enough to understand hardware constraints and test requirements
Ability to read and interpret schematics to understand circuit behavior and identify relevant test points
Practical familiarity with Objective-C code, able to read and work with existing Objective-C implementations
Familiarity with Linux user space applications, including system calls, process management, inter-process communication, and performance profiling
Strong problem-solving skills with an ability to decompose complex systems into manageable components
Quickly adapting to different code bases and technologies to identify and implement effective software solutions across our testing infrastructure
Experience with test automation or testing frameworks
Knowledge of hardware-software co-design considerations
Interest in exploring AI applications in testing and automation
Apple is an equal opportunity employer that is committed to inclusion and diversity. We seek to promote equal opportunity for all applicants without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, disability, Veteran status, or other legally protected characteristics. Learn more about your EEO rights as an applicant (https://www.eeoc.gov/sites/default/files/2023-06/22-088_EEOC_KnowYourRights6.12ScreenRdr.pdf) .
Other Details

