Software Engineer (Virtualization)
Role details
Job location
Tech stack
Job description
Join the Core Virtualization team and work on projects that span the entire system, from the kernel to libraries, frameworks, and applications. As a virtualization engineer, you will have a major impact on the design and implementation of Apple's virtual machines and virtualization frameworks. You will also collaborate with experts across Apple's software and hardware organizations to virtualize operating system products. We are looking for a passionate and challenged candidate who wants to work on products that affect the lives of millions of users., The Virtualization team is looking for a talented engineer to join its virtual platform group. Our team is responsible for building the foundational technologies necessary for running macOS virtual machines.","responsibilities":"Develop bootloader and kernel components for the guest platform. Design and implement VirtIO, paravirtualized and custom virtual devices. Collaborate with hardware teams to leverage new hardware features for the macOS guests. Write high-quality, well-tested, and maintainable code in C/C++. Design and implement comprehensive test suites to ensure the reliability and correctness of virtualization components. Debug complex issues spanning kernel, hypervisor, user-space, and guest operating system layers. Optimize performance of virtual machines. Work cross-functionally with other teams (e.g., drivers, frameworks, QA) to deliver integrated solutions. Participate in code reviews and technical design discussions.
Requirements
Skilled in kernel and device driver development Familiar with Arm assembly programming Knowledge of CPU architecture, Excellent C and C++ programming skills Strong understanding of operating systems internals and systems programming Excellent collaborative skills, with strong written and verbal communication Bachelor's degree or equivalent experience in computer science or a related field