Compute Runtime Systems Engineer Containers & Virtualization

Socket.dev

Seattle, WA • On-site

Other

Posted 14 days ago


Job description

DESCRIPTION

The Apple Services Engineering (ASE) team builds the container and virtualization runtime technology that powers Apple's next-generation compute platform. We're a fast-moving, highly skilled team of systems engineers designing and developing the virtualization-based runtimes that run Virtual Machines and Linux Containers across our data center and Apple platforms — with privacy, security, and performance as first-class requirements. Beyond the datacenter, we maintain Apple Container, our open source project bringing native container support to macOS desktops. We're filling multiple roles on this team, both junior and senior. We're looking to add talented, passionate people who love hard systems problems and want to build foundational technology used across Apple and the open source community — whether that's engineers early in their systems programming career looking to grow fast on a high-paced, experienced team, or seasoned domain experts ready to take ownership of significant technologies.

DESCRIPTION

We build the container runtime technology that Apple's own services and developers depend on. Our systems engineers develop virtualization-based runtimes — using macOS virtualization and VMM solutions like Cloud Hypervisor and sandboxed container solutions — to run Virtual Machines and Linux Containers across our data center and Apple platforms, with a relentless focus on privacy, security, and performance. This is a foundational systems team, not a web-services or operations team: we work at the level of kernel and container security, image distribution, filesystems, and virtualization. Much of this work is greenfield, solving problems unique to running on Apple's own hardware in the data center, at a scale and with constraints the rest of the industry hasn't had to solve for. Beyond the datacenter, we maintain Apple Container, our open source desktop tooling that lets developers around the world run containers natively on macOS. We're looking for a strong foundation in systems programming and a genuine curiosity about how containers and virtualization work under the hood, paired with the drive to learn quickly on a high-paced, experienced team. We love open source and collaboration at every level.

MINIMUM QUALIFICATIONS

Bachelor's Degree in Computer Science, or equivalent related experience. At least 3+ years of Software design and development experience in infrastructure engineering (compute, storage and network virtualization), containerization, or systems programming, with strong fundamentals Programming proficiency in C, C++, Swift or Go Familiarity with some or all of the following topics: Linux containerization, Linux filesystems, Image distribution, Content storage, Kernel and container security Ability to contribute to design docs and technical discussions, and to write clear, well-tested code Love open source and collaboration

PREFERRED QUALIFICATIONS

Experience with Linux system programming Experience participating in code review, giving and receiving feedback on correctness and test coverage Exposure to writing tests for regression prevention or negative-case validation Development experience in one or more of: Cloud security, Container / Linux Kernel security and API security Experience troubleshooting and diving into metrics to identify resource contention and bottlenecks Experience designing benchmarks and load tests to characterize performance and establish scalability models Development experience with container orchestration systems such as Docker, Kubernetes or Mesos is a plus Development experience with virtualization and container technologies such as Apple Container, Kata, Firecracker, or KubeVirt is a plus Systems programming experience on Darwin with Swift is a plus Programming system virtualization based on Cloud Hypervisor, rust-vmm, macOS Virtualization Framework, QEMU, or KVM is a plus

#J-18808-Ljbffr



Frequently asked questions

Q: What skills or qualities help someone succeed as a Virtualization Engineer?

A: To succeed as a Virtualization Engineer, key technical skills include in-depth knowledge of virtualization platforms such as VMware or Microsoft Hyper-V, proficiency in scripting languages like PowerShell or Python, and expertise in storage and networking technologies. Soft skills like strong problem-solving abilities, effective communication, and adaptability are also crucial, as Virtualization Engineers often work with cross-functional teams to troubleshoot complex issues and implement new solutions. By combining these technical and soft skills, Virtualization Engineers can effectively design, implement, and manage virtualized environments, driving business efficiency and scalability while supporting long-term career growth and professional development.

Q: What is the career path for a Virtualization Engineer?

A: A Virtualization Engineer's career path typically begins as a Junior Virtualization Engineer, where they design, implement, and manage virtualized environments, progressing to a Senior Virtualization Engineer role, where they lead teams and oversee large-scale virtualization projects. Along the way, they can develop skills in areas like cloud computing, containerization, and DevOps, as well as obtain certifications like VCP or VCAP to enhance their career prospects. Ultimately, experienced Virtualization Engineers can transition into leadership roles, such as Technical Architect or IT Director, or pursue specialized roles like Cloud Security Engineer or IT Service Management Specialist.



Socket.dev job posting for a Compute Runtime Systems Engineer Containers & Virtualization in Seattle, WA, with a map of Seattle location.