Job Description
Summary
Over one billion people update their Apple devices every year, and they do so with the absolute certainty that it will succeed and boot them into the new OS. The Apple Software Update team provides that certainty. And when we do get the exceedingly rare failure, the Apple Software Update team has the expertise, understanding, and drive to dig in and definitively identify and resolve the issue, be it a rare crash, a flipped bit, or something more insidious.
In this role, you\'ll be working on the Software Update process for most of Apple\'s devices. This is a broad role with opportunities to work across many levels of the OS, from the UI layer all the way down to the kernel and firmware. Your responsibilities will include ensuring the updates work on new hardware, enhancing the robustness and security of the process, and imagining and delivering new features.
Description
Core Responsibilities Include:
Help deliver new Software Update features, including improving speed, reliability, and robustness.
Collaborate with the Security, APFS, and Kernel teams to come up with more future-proof software update mechanisms.
Write and debug software across all product lines and OSes.
Help bring up new platforms, including consulting on the design of firmware updaters, the software update process, and OS boot mechanisms.
Minimum Qualifications
- Objective-C, Swift, C++, or C knowledge
- Bachelors degree in CS/CE/EE or 2-3 years relevant work experience
Preferred Qualifications
- Strong defensive programming skills
- Familiarity with LLDB
- Familiarity with compiling and building complex systems.
- Familiarity with macOS/iOS internals (launchd, boot mechanisms, etc.)