The posting
Summary
The SWE Developer Productivity organization builds the tools and libraries software engineers at Apple rely on to test their code. The SDP Testing Foundations team owns the Python libraries and services that connect tests to real and virtual devices at scale, powering both at-desk and CI workflows across nearly every Apple platform. We're building the infrastructure that lets us rapidly and reliably deploy hardware, and consolidating years of separate tooling into one coherent architecture on top of it. We're looking for a Python engineer who wants to help design that architecture and deliver it at scale across Apple.
Description
Your goal is to accelerate how quickly new devices reach our testing infrastructure. You'll design a device abstraction that models the many kinds of devices and transports we support (physical hardware, remote devices, VMs) and the different ways tests connect to and drive them. This way, a test written once runs anywhere: an engineer can move their test from prototype hardware to a simulator to a VM without changing their test or worrying about the implementation details.
Building it is half the job; getting it adopted is the other half. You'll work with the engineering teams already on our existing tooling to move them onto the new architecture and retire the older, narrower libraries it replaces, with as little disruption to their day-to-day testing as possible. That means you're equally comfortable writing Python and talking through a migration plan with a team that depends on the libraries you're changing.
Responsibilities
Design and build a device abstraction for devices and transports that lets new hardware connect to our infrastructure quickly and consistently Extend that abstraction to cover our existing test libraries, so teams can adopt it without rewriting their tests Partner with teams adopting the new architecture; plan and execute migrations and deprecations with minimal impact on their tests Work across a broad, established Python codebase, balancing pragmatic improvements with the long-term architecture Communicate design tradeoffs and migration plans clearly, in writing and in conversation, across time zones
Minimum Qualifications
Proven experience in Software Development in Python Experience designing or maintaining APIs/abstractions used by other engineering teams Experience working within an established codebase — reading unfamiliar code, understanding its constraints, and changing it safely Strong written and verbal communication skills, comfortable collaborating across time zones
Preferred Qualifications
Experience bringing up test or automation support for new hardware platforms Experience leading a migration or deprecation of a widely-used system with minimal user impact Experience with test automation, CI systems, or device fleet infrastructure Familiarity with iOS and/or macOS platforms Approachable and collaborative, interested in both teaching and learning from teammates
EEO Statement
At Apple, we're not all the same. And that's our greatest strength. We draw on the differences in who we are, what we've experienced and how we think. Because to create products that serve everyone, we believe in including everyone. Therefore, we are committed to treating all applicants fairly and equally. As a registered Disability Confident employer, we will work with applicants to make any reasonable accommodations. Apple will consider for employment all qualified applicants with criminal backgrounds in a manner consistent with applicable law. Learn more
Accessibility
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



