Virtualisation Engineer

London, ENG, GB, United Kingdom

Job Description

Are you a big-picture thinker who loves setting ambitious goals? Do you have a passion for understanding how each line of code affects all the others? In the Core Operating Systems group, you'll ensure the OS is inseparable from each device's identity as a whole. That's because this group is committed to building fully integrated operating systems that combine hardware, software, and apps into a single Apple experience. Your dedication to cross-disciplinary collaboration will help develop groundbreaking technologies, such as iOS, macOS, watchOS, and tvOS.




Description





The Virtualization team is looking for a highly skilled and motivated software engineer to join our core development group. We are responsible for building the foundational virtualization technologies that power innovative features, enabling developers and users to run diverse operating systems and environments reliably on their Mac. As a member of this team, you will work at the heart of our virtualization stack, contributing to the kernel-level support, the Hypervisor framework, and the Virtualization framework. This is a unique opportunity to work on low-level system software, influence hardware-software co-design, and build highly reliable systems that are critical to the Apple ecosystem. If you are passionate about operating systems, computer architecture, and building robust, high-performance systems, we encourage you to apply. Key Responsibilities - Design, implement, and maintain kernel-level virtualization support for Apple platforms. - Develop and enhance features within Apple's Hypervisor and Virtualization frameworks. - Implement and improve device emulation and bus emulation logic to support a wide range of virtualized hardware. - Collaborate with hardware teams to integrate support for new virtualization-related features. - 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.




Minimum Qualifications



Knowledge of Armv8 or Armv9 CPUs architectures. Knowledge of OS internals and system programming, device drivers, and memory management. Excellent C and C++ programming skills.


Preferred Qualifications



Proficient in virtualization technologies. Skilled in kernel and device driver development. Familiar with Arm assembly programming. Knowledgeable in hardware virtualization. Well-versed in testing methodologies and designing testable systems. Strong collaborator with excellent written and verbal communication skills.





Submit CV

Beware of fraud agents! do not pay money to get a job

MNCJobs.co.uk will not be responsible for any payment made to a third-party. All Terms of Use are applicable.


Related Jobs

Job Detail

  • Job Id
    JD3395631
  • Industry
    Not mentioned
  • Total Positions
    1
  • Job Type:
    Full Time
  • Salary:
    Not mentioned
  • Employment Status
    Permanent
  • Job Location
    London, ENG, GB, United Kingdom
  • Education
    Not mentioned