About the job:
The Red Hat Enterprise Linux Engineering team is looking for a skilled and passionate developer with full-stack experience to join us as a Principal Software Engineer in our Virtualization team. This role will be responsible for enhancing, maintaining, and expanding the capabilities of virt-v2v, a crucial tool for converting virtual machines between different hypervisor environments. You will work on cutting-edge virtualization technologies, ensuring seamless migration of guest operating systems to KVM-based platforms.
As a Principal Software Engineer, your responsibilities will include design, develop and integrate new Virtualization features directly into Layered Products such as OpenShift Virtualization (KubeVirt and Kubernetes). This effort will include working routinely with the QEMU, Libvirt and KubeVirt communities, as well as Partners and other communities and internal teams on upstream contributions and possibly maintainership, as well as downstream integration and maintenance into our products. This position is for a Hybrid position in the Bangalore, India area, and the associate is expected to be able to work with a remote, global team.
What you will do?
-
Design, develop, and implement new features for virt-v2v, including support for new input and output formats, hypervisors (e.g., VMware, Hyper-V), and target KVM management systems (e.g., Kubevirt, libvirt, OpenStack)
-
Improve guest customization capabilities during conversion, such as automated driver installation (virtio drivers), network configuration, and bootloader adjustments
-
Debug and resolve complex issues related to VM conversion, including boot failures, network connectivity problems, and interactions with various guest operating systems and their applications (e.g., anti-virus software)
-
In a scrum model, work with Engineers on test plans and test strategies for the code you create and bring capabilities to CI based testing. Work with the Documentation team to ensure good coverage for the features and fixes you work on
-
Participate in architectural discussions of system designs, programming interfaces, and inter-dependencies of Core Virtualization Platform (hypervisor), Control Plane, Operators, CI, etc.
-
Collaborate with other engineering teams in Red Hat Enterprise Linux and OpenShift for components that are used by OpenShift Virtualization and associated tools
-
Troubleshoot, brainstorm, design and deliver fixes for internal and external customers related to your area of expertise
What you will bring?
-
10+ years of relevant experience as an engineer
-
Strong programming skills in C
-
Development experience in userspace applications or components
-
In-depth understanding of Virtualization concepts and technologies, particularly KVM
-
Understanding and experience using and developing on Linux-based operating systems
-
Understanding of how Open Source and Free Software communities work
-
Knowledge of Kubernetes / OpenShift architecture and familiarity with its internals
-
Proven ability to interact and communicate effectively with both technical and non-technical stakeholders
-
Required Full English proficiency (verbal and written)
The following are considered a plus:
-
Experience with different hypervisors (e.g., VMware, Xen, Hyper-V)
-
Familiarity with Linux and Windows operating systems and virtual machines, including their boot processes, device drivers, and networking
-
A good grasp of Python, relevant Golang and Rust experience. Experience to contribute to all aspects of the development process, including testing to ensure the quality and functionality of the code
-
Experience as a full-stack engineer