Back to all jobs

Software Engineer (Virtualisation)

Apple

LondonOn-siteFull Time2-5 years
Posted 4 hours ago

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.

Join the Virtualisation team and work on projects that span the entire system, from the kernel

to libraries, frameworks, and applications. As a Virtualisation engineer, you will have a major

impact on the design and implementation of Apple's virtual machines and virtualisation

frameworks. You will also collaborate with experts across Apple's software and hardware

organizations to virtualise operating system products. We are looking for a passionate

candidate who wants to work on products that affect the lives of millions of users.

Description

The Virtualisation team is looking for a talented systems engineer to join the virtualised devices

group. Our team builds the foundational technologies for supporting external devices within

virtual machines, spanning hardware passthrough and software device emulation. We've

shipped USB passthrough support in the Virtualisation framework and created the

AccessoryAccess framework, and we're expanding the scope of both. This role touches kernel,

user-space, and guest OS boundaries, and we value broad systems fluency and the ability to

pick up new device technologies over deep prior expertise in any single one.

Minimum Qualifications

  • Strong C++ programming skills.
  • Strong understanding of operating systems internals and systems programming.
  • Demonstrated ability to work effectively across different layers of a software stack (e.g.,

kernel, user-space, framework, application).

  • Excellent collaborative skills, with strong written and verbal communication.
  • Bachelor's degree or equivalent experience in computer science or a related field.

Preferred Qualifications

  • Knowledge of USB or other device/bus technologies.
  • Familiarity with virtualisation/hypervisor concepts.
  • Experience with device emulation or hardware passthrough/redirection.
  • Driver development experience.
  • Swift programming skills.

Similar jobs

More IT jobs →

CV-Library

£50k – £60k

TechOps Lead We're looking for a TechOps Lead to take ownership of technical operations within a fast-growing, technology-driven organisation transforming real-world infrastructure through smart,…

CroydonFull Time
1 hour agovia CV Library
View job →

CV-Library

£400 – £465 /day

Role: KDB Developer Type: Contract (3 Months with potential extension) Location: London, UK Working Model: Hybrid (3 days per week in office) Core Requirements: 10+ Years KDB+/q: Advanced development,…

LondonContract
3 hours agovia CV Library
View job →

CV-Library

£35k – £60k

About the Company A digital health technology company building software that supports the delivery of remote healthcare in a much under resourced area of UK Healthcare. You'll join a founding team…

FarringdonFull Time
3 hours agovia CV Library
View job →