Ubiquiti
Technology
VirtualizationSoftwareEngineer
Neural analysis suggests this role is
optimal for Senior candidates.
“Virtualization Software Engineer at Ubiquiti. Skills: Virtualization, System programming, API development. Manage VM lifecycle. Expose clean API”
Industry & Context.
Problem-solving; Analytical; Debugging
What They're Looking For.
Must Have
5+ years software engineering, Proficiency in C/C++, Familiarity in Linux networking, Software against libvirt API, Solid understanding Linux virtualization
Nice to Have
Experience with OVS/OVN, Experience with SR-IOV, Experience building lab/CI infrastructure
What You'll Do.
Model virtual network topologies
Provision virtual network topologies
Own component end-to-end
Architecture component
How You'll Work.
Team & Collaboration
Adjacent teams
Communication Scope
Documentation
Full Job Description
About Ubiquiti At Ubiquiti Inc., we create technology platforms for Businesses, Smart Homes, and Internet Service Providers, driven by our goal to connect everyone, everywhere. To date, Ubiquiti has shipped over 100 million devices worldwide, from ISP networking products to next generation of IT solutions. Our growth is made possible by the dedicated team of hundreds behind the scenes. From software developers and product managers to designers and strategists, Team UI is driven to achieve our common goal: Rethinking IT. At Ubiquiti, you’ll heighten your potential and broaden your horizons - all while shaping the future of connectivity. Role Summary Ubiquiti's Prague office is looking for a Virtualization Software Engineer to build a new internal platform for managing virtual machines at scale. You'll design and implement a greenfield service on top of libvirt/QEMU that orchestrates VM lifecycle and virtual network topologies, exposed via an API to other internal systems. The project stack: C++ (greenfield project — not a hard requirement; e. g. Go or Rust are fine if you make the case) libvirt / QEMU / KVM Linux (networking, bridging, virtio) Responsibilities: Design and implement a service that manages VM lifecycle (create, start, stop, snapshot, destroy) on top of libvirt Expose a clean API consumed by other internal tools and services Model and provision multi-node virtual network topologies (bridges, VLANs, virtio-net) Own the component end-to-end: architecture, implementation, tests, observability, and documentation Collaborate with adjacent teams on integration and end-to-end scenarios Requirements: 5+ years of professional software engineering experience Proficiency in C/C++ (or Go/Rust), with familiarity in Linux-based networking stacks Hands-on experience writing software against the libvirt API, QMP, or directly against QEMU/KVM — not just operating VMs through a GUI Solid understanding of Linux virtualization internals: KVM, virtio, vhost, network namespa
Applying for this Virtualization Software Engineer role?
Most applicants get filtered before a human reads their resume. See if yours makes the cut.
How to Apply on Greenhouse
- Create a Greenhouse profile before applying — it saves time across multiple applications.
- Upload your resume as a PDF; the parser handles it better than Word.
- Answer all knockout questions carefully — wrong answers auto-reject before a human sees you.
- Enable email notifications to track application status in real time.
ANONYMOUS · UNFILTERED
What do employees actually say about Ubiquiti?
Real rants from real employees. Read before you apply.