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 namespaces, bridging
Comfortable designing and shipping long-lived services (APIs, lifecycle, error handling, observability)
Excellent problem-solving, analytical, and debugging skills
Strong communication and documentation abilities
Fluency with modern AI-assisted development tools
Fluent in English
Nice to Have:
Experience with OVS / OVN or other programmable virtual switching
Experience with SR-IOV, DPDK, or vhost-user data paths
Experience building lab/CI infrastructure (Proxmox, libvirt-based topologies, automated topology bring-up)
Fluent in Czech
Benefits:
Competitive salary and 5 weeks of vacation per year
Discretionary bonuses based on individual performance
Flexible working hours, home office
Top floor office near Andel with amazing view of Prague
Kitchen packed with food, snacks & sodas, meal allowance
A collective of developers who want to make the best product. Maximum effort to keep processes to a minimum, no complex reporting and similar habits