Location: Bangalore, India
Experience: 3–8 Relevant Years
Employment Type: Full-Time
Job Summary
We are looking for a skilled Hypervisor Development Engineer / Virtualization Software Engineer with strong expertise in system software, virtualization, operating system internals, CPU architecture, and low-level programming.
The candidate will be responsible for designing, developing, debugging, and optimizing hypervisor components for virtualized environments, cloud infrastructure, embedded systems, automotive platforms, telecom systems, or enterprise virtualization products.
The role involves working close to hardware and operating system layers, including CPU virtualization, memory virtualization, device virtualization, interrupt handling, I/O virtualization, and virtual machine lifecycle management.
Key Responsibilities
Hypervisor Development
- Design, develop, and maintain hypervisor software components.
- Work on Type-1 or Type-2 hypervisors.
- Develop virtualization support for:
- CPU virtualization
- Memory virtualization
- I/O virtualization
- Interrupt virtualization
- Device passthrough
- Implement and optimize virtual machine creation, execution, suspension, migration, and teardown.
Virtual Machine Monitor Development
- Work on VMM components such as:
- vCPU scheduling
- VM exits and entry handling
- Trap and emulate logic
- Guest memory management
- Hypercalls
- Virtual interrupt delivery
- Debug guest OS boot, runtime, and crash issues.
Hardware Virtualization
- Work with processor virtualization technologies such as:
- Intel VT-x
- Intel EPT
- AMD-V
- AMD RVI/NPT
- ARM Virtualization Extensions
- ARM Stage-2 Translation
- Handle low-level CPU state management, privilege transitions, and exception handling.
Memory Virtualization
- Implement and optimize:
- Shadow page tables
- Extended Page Tables
- Nested Page Tables
- Stage-2 page tables
- IOMMU mappings
- Memory isolation
- Debug memory faults, address translation issues, and guest memory corruption.
Device Virtualization
- Develop and maintain virtual device models.
- Work with:
- VirtIO
- PCI/PCIe virtualization
- SR-IOV
- VFIO
- Device passthrough
- Emulated storage, network, console, and timer devices
- Optimize virtual I/O performance.
Performance Optimization
- Analyze and improve hypervisor performance.
- Optimize:
- VM exit overhead
- Context switching
- vCPU scheduling
- Interrupt latency
- I/O throughput
- Memory access performance
- Support benchmarking and performance profiling.
Debugging & Validation
- Debug complex issues across guest OS, hypervisor, firmware, and hardware.
- Analyze:
- VM crashes
- Guest kernel panics
- Hypervisor faults
- Boot failures
- Performance regressions
- Use tools such as:
- GDB
- kgdb
- crash
- ftrace
- perf
- QEMU monitor
- kernel logs
- serial console debugging
Required Technical Skills
Programming
- Strong programming skills in:
- C
- Assembly
- Shell scripting
- Good knowledge of:
- Python
- Makefiles
- Build systems
Operating System Internals
Strong understanding of:
- Process and thread management
- Memory management
- Page tables
- Interrupt handling
- Scheduling
- Synchronization
- System calls
- Boot process
- Kernel debugging
Virtualization Technologies
Experience with one or more of:
- KVM
- Xen
- QEMU
- VMware ESXi
- Hyper-V
- ACRN
- Jailhouse
- seL4-based virtualization
- Custom embedded hypervisors
CPU Architecture
Good understanding of:
- x86/x86_64 architecture
- ARM/ARM64 architecture
- Privilege levels
- MMU
- TLB
- Cache coherency
- Interrupt controllers
- Timer architecture
- Bootloaders and firmware interfaces
Linux Kernel Knowledge
- Linux kernel architecture
- Kernel module development
- KVM internals
- Device drivers
- Memory management
- Scheduler internals
- PCIe and DMA concepts
Preferred Qualifications
- Experience developing or modifying hypervisors.
- Experience with KVM, Xen, QEMU, or embedded hypervisors.
- Knowledge of secure virtualization and trusted execution environments.
- Experience with:
- Secure boot
- TPM
- ARM TrustZone
- Intel SGX/TDX
- AMD SEV
- Knowledge of real-time virtualization.
- Experience with safety-critical systems such as automotive or aerospace platforms.
- Familiarity with cloud virtualization, container runtimes, or orchestration platforms.
- Experience with Yocto, Buildroot, U-Boot, or embedded Linux.
- Understanding of ISO 26262, MISRA C, or safety-certified software is a plus.
Educational Qualifications
- Bachelor’s or Master’s degree in:
- Computer Science
- Electronics & Communication
- Information Technology
- Related Discipline