Design and develop a custom control plane for orchestrating Microsoft Hyper-V hosts and virtual machines, following Kubernetes-style declarative, reconciliation-loop architecture patterns
Build core control plane components in Go, including API servers, controllers/operators, schedulers, and reconciliation loops
Design and maintain the relational database schema used for cluster state, VM inventory, host topology, and configuration data
Implement custom Kubernetes Custom Resource Definitions (CRDs) and controllers where Kubernetes itself is used as (or alongside) the orchestration layer
Build robust, idempotent reconciliation logic that keeps actual infrastructure state in sync with desired state
Develop APIs (REST/gRPC) for internal and external consumers to interact with the control plane
Implement observability (metrics, logging, tracing) for control plane health, VM scheduling decisions, and host resource utilization
Design for high availability, failure recovery, and safe concurrent operations across a fleet of Hyper-V hosts
Write unit, integration, and end-to-end tests for control plane components; participate in code reviews
Collaborate with infrastructure, platform, and SRE teams to define scheduling policies, resource quotas, and placement constraints
Document architecture decisions, APIs, and operational runbooks for the platform
Required Qualifications
Bachelor's degree in Computer Science, Engineering, or equivalent practical experience
4+ years of software engineering experience, with a strong focus on infrastructure or platform software (not just application development)
Strong proficiency in Go (Golang), including concurrency patterns (goroutines, channels), interfaces, and building production-grade services
Hands-on experience with Kubernetes internals or ecosystem — writing controllers/operators, working with the client-go library, CRDs, and the controller-runtime/reconciliation pattern
Strong experience with relational databases (e.g., PostgreSQL, SQL Server, MySQL) — schema design, transactions, migrations, and writing performant queries from Go
Experience designing and building distributed systems: state reconciliation, eventual consistency, leader election, and failure handling
Experience building and consuming REST or gRPC APIs
Working knowledge of Git-based development workflows, CI/CD pipelines, and automated testing practices
Strong debugging and systems-level troubleshooting skills across compute, storage, and networking layers