DevJobs

Software Engineer - Test Automation

Overview
Skills
  • Shell Shell
  • Python Python
  • Linux Linux
  • macOS macOS
  • Xcode Xcode
  • CI/CD CI/CD
  • Git Git
  • Pytest
  • Networking Networking
  • AAA
  • POM
  • Simulator
  • XCTest
  • Claude Code
  • GitHub Copilot
  • Playwright
Summary
A self-motivated automation engineer with strong programming fundamentals, responsible for designing, writing, and maintaining automated tests across software, firmware, backend, frontend, and mobile — while owning the full automation infrastructure and CI pipeline.

Description
You will design, write, and maintain automated tests covering backend services, frontend interfaces, and mobile applications, including software and firmware. You will own and evolve the automation infrastructure, the physical lab environment, test agents, and CI pipeline reliability, while collaborating closely with development engineers to build and run automated test suites, triage failures, and expand coverage as new features are introduced. Industry best practices such as POM (Page Object Model) and AAA (Arrange-Act-Assert) patterns will guide your work to ensure automation projects remain well-structured, maintainable, and scalable. Over time, you will deepen your product knowledge to broaden test suite coverage accordingly, contribute to internal tooling, and leverage generative AI tools to improve productivity across test development, documentation, triage, and reporting.

Responsibilities
  • Test automation framework design and development (Python, Pytest, Playwright)
  • Backend, frontend, and mobile test automation across multiple platforms, including iOS/macOS using XCTest
  • Applying automation best practices: POM, AAA, and scalable project architecture
  • Debugging and troubleshooting hardware and software issues
  • CI/CD pipeline configuration and maintenance
  • Lab infrastructure management

Minimum Qualifications
  • Bachelor's or Master's degree in Computer Engineering, Computer Science, or a related field
  • 3-5 years of experience as a software engineer
  • Proficiency with Python test frameworks, including Pytest and Playwright
  • Strong understanding of POM, AAA, and automation project architecture best practices
  • Experience with backend, frontend, and mobile test automation across native Apple platforms (XCTest, Xcode, Simulator)
  • Ability to quickly ramp up in new technical domains and adopt unfamiliar technologies
  • Familiarity with LLM-based development tools (Claude Code, GitHub Copilot, or similar)
  • Git, code review, and collaborative development workflows
  • Shell scripting and command-line proficiency (macOS/Linux) within the Apple development environment
  • Strong QA Engineering background

Preferred Qualifications
  • Networking fundamentals

At Apple, we believe accessibility is a fundamental human right. You’ll find that idea reflected in everything here — in our culture, our benefits and our digital tools. By welcoming as many perspectives as possible, we help you build a career where you feel like you belong.

Learn about accessibility in Apple’s workplace

Role Number: 200665665-0865

Apple