Software Engineer (Virtualisation)

London · On site · Posted 9/29/2026 Leaves the board today
See how you compare Upload your resume and see how it scores against this posting. Free.

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.