CareerPlan

Software Engineer (Virtualisation)

London, United KingdomFull-time2026-09-29 → 2026-11-10

Core

Design and implement support for external devices in virtual machines, spanning hardware passthrough and software device emulation.

Role type

Senior IC systems engineer (virtualisation)

Builds

Virtualisation and AccessoryAccess frameworks for virtualised devices

Domain

Operating systems internals, systems programming, virtualisation

Required skills

C++, operating systems internals, systems programming, cross-stack software development, test suite design, performance optimization, code review

Preferred skills

USB/device/bus technologies, virtualisation/hypervisor concepts, device emulation, hardware passthrough, driver development, Swift

Technologies

C++, Swift, kernel, user-space, guest OS

Responsibilities

Contribute to the Virtualisation and AccessoryAccess frameworks. Design and implement support for external devices in virtual machines. Write high-quality, well-tested, maintainable code in C++ and Swift. Design and implement test suites to ensure reliability and correctness across the stack. Debug complex issues spanning kernel, user-space, and guest operating system layers. Optimize performance of virtualised devices. Work cross-functionally with drivers, frameworks, and QA teams to deliver integrated solutions. Participate in code reviews and technical design discussions. Pick up new subsystems and device technologies as team priorities evolve.