Software Engineer in Test - macOS Install and Recovery

Santa Clara Valley (Cupertino), California, United States
Software and Services


Weekly Hours: 40
Role Number:200196947
Apple’s macOS Install and Recovery validation team is responsible for ensuring that high quality Software releases are reliably delivered to customers. We work closely with development engineering teams that implement creative solutions for tethered and wireless updates on all Apple platforms. Quality engineering owns, develops, and maintains test plans, automation, test tools, and limited infrastructure in service of this validation. In this role, test efforts will focus on development engineering support and partnering with engineering teams to ensure product quality. The team’s QA effort includes hands-on functional testing, bug reporting/regression, maintaining test guidelines, designing effective test coverage for new features, and development of / execution of automated tests. The successful candidate should have a strong aptitude for learning new technologies, excellent communication skills, and the ability to drive complex and challenging projects to conclusion. Strong collaboration with engineering, cross functional teams and an ability to thrive under pressure are key skills required to succeed in this role.

Key Qualifications

  • QA/QE or development experience
  • Excellent Python coding or other scripting language is a must
  • Experience with C is desired (Objective C/ C++ desired)
  • Experience with automation frameworks and tools development is desired
  • Self-motivated with passion for quality and automation
  • Strong instinct for determining defect severity and scope
  • Excellent verbal and written communication skills
  • Experience in solving quality issues in system software domain
  • Knowledge of file systems, encryption, compression, networking technologies is desired
  • Excellent knowledge of QA methodologies, writing test plans and test cases, and exploring creative testing ideas
  • Creative problem solver with the ability to multi task


Responsibilities: Contributions to the development of test plans and automation Execution of pre-submission testing for platform restores and updates Execution of functional testing and identify opportunities to leverage automation Identify and create test tools to further enhance coverage, identify which tests are high-value/low-effort for prioritizing immediate work Defect Analysis and Investigation for regression info, scope, user impact, potential causes in order to file high-quality bugs with engineering Support software bring-up efforts on prototype hardware Maintain, debug, and manage hardware installed in the automation lab Provide summaries of software quality/concerns to management in order for them to make data-based decisions during the software development process

Education & Experience

BS in Computer Engineering/Computer Science/Electrical Engineering or equivalent experience/skills

Additional Requirements