Remote job
Senior Software Engineer - Virtual Machines (RD222)
Job details
About this role
Role overview Build software that makes virtual machines manageable alongside containerized workloads in secure Kubernetes environments. The role spans product engineering, virtualization, and security, with a focus on reliable VM deployments in disconnected settings. You’ll own complex capabilities, shape technical decisions, and work with product, design, and users to turn operational needs into practical features.
Responsibilities - Design, build, test, and deliver Kubernetes tooling and APIs for VM workloads. - Create tools to inspect, prepare, convert, and package VM images for disconnected delivery. - Integrate VMs with networking, storage, observability, and security features. - Develop workflows for VM inventory, status, power controls, and console access. - Diagnose issues across Kubernetes, virtualization, operating systems, storage, and networking; improve reliability, performance, and maintainability. - Review code, mentor teammates, document decisions, and help establish engineering practices.
Requirements - At least five years of professional software engineering experience. - Strong ability in Go or another modern language, with interest in building Go systems. - Experience building software that works with Kubernetes or other distributed systems. - Understanding of APIs, system design, and software architecture; experience with backend services, controllers, operators, or developer tools. - Familiarity with Linux, containers, and operating system concepts, plus experience building and supporting production software. - Ability to resolve ambiguity, debug across system boundaries, communicate clearly, and drive complex work independently. - U.S. citizenship is required. The role is remote within the United States and includes an estimated 5–10% travel.
Nice to have - Experience with KubeVirt, QEMU/KVM, Kubernetes operators, controllers, or custom resource definitions. - Familiarity with Windows VMs, VM image formats and lifecycle management, or Kubernetes networking and storage. - Experience with Go command-line tools, OCI artifacts, software packaging, or disconnected and regulated environments. - Contributions to relevant open-source projects or experience integrating identity, access control, and observability into security-focused software.