Apple is looking to improve the build and test process of low-level components of iOS, macOS, watchOS, VisionOS, and tvOS to ensure the internal release of these operating systems is reliable every day.
Requirements
- Proficiency in Python is essential, any other programming language is a plus
- Debugging skills: Ability to examine debug out and recognize patterns in failures
- Knowledge of deep learning technologies to give computers the capability to visualize, learn and respond to complex situations is a plus
- Unix operating system test development experience (macOS or iOS development experience is a huge plus)
- Understanding of key components of an operating system
- Ability to work with the engineering team to root cause failures on short/tight cadence
- Execute regression test suites on multiple devices and report failures in a timely manner
Responsibilities
- We investigate defects found in the OS submission pipeline to identify culprits.
- We triage issues and route them to the correct team using a variety of debug methods.
- We develop and improve the submission process as it relates to test/triage/debug.
- We develop tools and tests that aid in triaging test failures and contribute to the test infrastructure.
- We build software products to implement efficiencies, and to automate testing and debugging.
- We provide a platform to enable our Engineering and Quality teams to deliver better products more effectively by developing orchestration to make the end-to-end process of building operating systems continuously improving
- We work with the engineering and extended test teams to improve the continuous build's regression test coverage.
Other
- Plans, designs, develops and tests software systems or applications for software enhancements and new products including cloud-based or internet-related tools.
- Completes documentation and procedures for software maintenance and usability.
- Interpersonal skills: Able to relay critical information between stakeholders for rapid resolution of issues
- Collaborate with teams of software and quality engineers.
- Guide the organization on process improvement initiatives.