Software Engineer, Device & Test Infrastructure, Development Experience

AppleLondon, EnglandOn-siteFull-timeMid level, 2–5 yearsListed 14 minutes ago

Apply now

About this role

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.

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.

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