Skip to main content

Google Summer of Code

· loading · loading ·
Learning to code like a professional through open source — building in the KubeVirt ecosystem.

Why Open Source?
#

TL;DR It’s the Best Place to Learn to Code Like a Pro

There’s something different about learning to code in open source.
No course or tutorial prepares you for the first time your pull request is reviewed by someone who maintains software running in production clusters worldwide.

You learn to communicate clearly, write defensive code, and think in systems, not scripts. Every change you make affects someone else’s workflow — and that makes you accountable, precise, and humble.


The Project: KubeVirtBMC
#

During Google Summer of Code, I worked with the KubeVirt community to design and prototype emulated BMC (Baseboard Management Controller) support for virtual machines — enabling Redfish and IPMI interfaces for out-of-band control.

In plain words, it allows developers and CI engineers to power on/off or mount virtual media on Kubernetes-managed VMs — just like real hardware.
I implemented the core controller logic, wrote the CRD (VirtualMachineBMC), scaffolded agents, and helped define testing and deployment workflows.

The feature integrates natively with Kubernetes RBAC and namespaces, so administrators can safely simulate bare-metal infrastructure at scale — no sidecars, no hacks, just clean CRD-driven design.


What I Learned
#

  • Read before writing: studying existing code and discussions is half the job.
  • Design first, code later: proposals and async reviews sharpen your thinking.
  • Communication = engineering: clarity is what scales collaboration.
  • Small, composable changes: open source rewards simplicity over cleverness.
  • Community rhythm: async work, weekly syncs, and shared vision.

It’s solo work — but never lonely. Every improvement builds on someone else’s code.


Takeaway
#

Open source is the best classroom for real-world engineering — it teaches discipline, humility, and collaboration.
You don’t just learn to write code; you learn to build software that others rely on.

Open source doesn’t just teach you how to code — it teaches you how to build with others.