Software Engineer (Virtualization)

Apple Inc.
Charing Cross, United Kingdom
6 days ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English

Job location

Charing Cross, United Kingdom

Tech stack

Assembly Language
Booting (BIOS)
C++
Code Review
Microarchitecture
Software Debugging
Device Drivers
System Programming
Virtual Machines
Virtualization Technology
Information Technology
Operational Systems

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

About the company

Apple is where individual imaginations gather together, committing to the values that lead to great work. Every new product we build, service we create, or Apple Store experience we deliver is the result of us making each other's ideas stronger. That happens because every one of us shares a belief that we can make something wonderful and share it with the world, changing lives for the better. It's the diversity of our people and their thinking that inspires the innovation that runs through everything we do. When we bring everybody in, we can do the best work of our lives. Here, you'll do more than join something - you'll add something., At Apple, we're not all the same. And that's our greatest strength. We draw on the differences in who we are, what we've experienced and how we think. Because to create products that serve everyone, we believe in including everyone. Therefore, we are committed to treating all applicants fairly and equally. As a registered Disability Confident employer, we will work with applicants to make any reasonable accommodations. Apple will consider for employment all qualified applicants with criminal backgrounds in a manner consistent with applicable law. Learn more

Apply for this position