A

Apple

Designs phones, computers and their operating systems

Senior Software Engineer

Systems Software EngineeringPosted on Nov 10
Full-timeSeattle, WA, USANo salary listedIn-person

About the Job

Requirements

  • A Bachelor's degree in Computer Science, or equivalent related experience.
  • At least 8 years of software design and development experience in infrastructure engineering, including compute, storage, and network virtualization.
  • Deep, demonstrated experience in one of the following, and working fluency in the other: operating live migration, live patching, or kexec-style host updates across a production fleet, including non-convergence, aborts and rollback, and fleet-wide rollout safety; or building live migration, snapshot/restore, or device-state serialization inside a hypervisor or virtual machine monitor, such as QEMU/KVM, Cloud Hypervisor, Firecracker, Xen, or Hyper-V.
  • Advanced programming proficiency in C, C++, Rust, Swift, or Go, with a track record of designing and developing high-performance, secure, scalable, and reliable systems.
  • A track record of owning technical design end-to-end, from design documents and architecture tradeoffs through implementation and review.
  • Experience setting technical direction for a group of engineers, with or without formal management responsibility.

Responsibilities

  • Define the fleet patching strategy by evaluating candidate approaches, choosing an approach or combination, and making tradeoffs explicit based on how each approach can fail.
  • Set relevant metrics, including guest-visible downtime, total migration time, network amplification, abortability, and time to patch the fleet.
  • Design and drive the first implementation, building on Cloud Hypervisor and Linux microVM runtimes on x86 and arm64.
  • Hire and grow the team.
  • Work with the SRE, Compute, and security organizations on rollout, safety, and fleet operations.

Desired Qualifications

  • Experience with Linux kernel and system programming, including KVM, userfaultfd, VFIO, kexec, and kernel live patching.
  • Understanding of dirty-page tracking, memory and device state handling, and time and CPU-model compatibility across hosts.
  • Experience with live migration of devices that carry hardware state, including VFIO, vDPA, and SR-IOV.
  • Experience designing benchmarks and load tests to characterize downtime and performance impact during an upgrade.
  • Experience contributing to or maintaining open-source virtualization projects, including Cloud Hypervisor, rust-vmm, QEMU, and KVM.
  • Experience with Kubernetes node lifecycle, draining, and fleet rollout orchestration.
  • Experience building a new team from zero, including hiring.

About the Company

Apple

Designs phones, computers and their operating systems

Apple designs and sells consumer electronics, from iPhone smartphones and Mac computers to tablets and wearable devices. Its operating systems manage apps and built-in functions for communication and work, while iCloud stores files and synchronizes data across devices. Customers buy additional digital services through subscriptions such as Apple Music and Apple TV, and developers distribute software through the App Store. Apple earns money from hardware sales, subscriptions and digital transactions, selling directly to customers and through retailers and mobile carriers around the world. It was founded in 1976 and has its headquarters in Cupertino, California.

Company size
10,001+
Company stage
IPO
Headquarters
Cupertino, CA
Founded
1976

Recently Posted Jobs

Explore more opportunities at Apple

See more jobs