3 minute read
GUEST VIEW by Michael Schmid
by d2emerge
Michael Schmid is co-founder and CTO at amazee.io, a Mirantis company.
Guest View
BY MICHAEL SCHMID Developers shouldn’t have to learn K8s
There
’ s no way around it: Kubernetes is a game-changer for today ’ s businesses, and everyone wants their IT teams to use it. Kubernetes has changed the way we ’ re able to operate and run applications. But unfortunately, the tasks related to Kubernetes have made developers ’ daily lives and work slightly nightmarish.
My good friend Karla was once a front-end developer who loved what she did. Her boss asked her to learn Kubernetes and even sent her to a dedicated program to do so. She was excited to learn such a cool new skill, and she attended day one of the program hopeful and optimistic.
Today, Karla works as a realtor. Six months after trying to learn Kubernetes, she decided to quit being a developer entirely. She felt that this wasn ’t what she signed up for, and she lost all joy in the profession of developer. She wanted to create applications, sites, and code, and instead was hassling with IP addresses, networking, and storage. But the latter is what she ended up doing. It took its toll. This is the future we face if we continue to ask developers to learn Kubernetes, or anything that isn ’t their job.
Developers shouldn ’t bear the burden of learning and doing Kubernetes, because it’ s not their job to do so. It’ s another beast entirely.
The truth is, this situation isn ’t new. Developers have always felt this burden — to be more than they are — when being a developer itself should be “ good enough. ” Most developers I know push themselves to try and be the rare “full stack” developer who can do front end, back end, data engineering, storage, security, and more.
Why?
It all began with the dream of DevOps, which was born in the hopes that combining two critical functions — development and operations — could skyrocket productivity for tech teams. When development and operations were siloed, independent from each other, madness ensued, and nothing got done.
So, naturally, pushing them together seemed like the most logical explanation. But eventually, more and more started to be asked of developers.
Sixmonthsaftertryingto learnKubernetes, she decidedtoquitbeing adeveloperentirely.
What about Kubernetes?
This leads me into why developers shouldn ’t have to learn, know, practice, or work with Kubernetes. It’ s not their area of expertise.
Everybody wants developers; they ’ re a hot commodity. But then, once they ’ re hired, many developers will be told something like this:
“Welcome to our team, we ’ re doing DevOps. Here ’ s your AWS account, now create some Kubernetes clusters and deploy applications. ” Assumptions are being made that might be inaccurate — even damaging.
This isn ’t commonly seen in other professions, but for developers, leaders just keep adding to an already tall order. To give you a few examples: A race car driver has a whole team of mechanics to work on the car. A chef works with a butcher to buy meat from, they also don ’t hunt their own deer. Baristas don ’t pick coffee beans.
Being a developer is already hard…
Development becomes more complex every year. As technology evolves every year, more and more complexities build up. Developers are asked to know more languages, have more technical skills, and to gain familiarity with a plethora of new systems all the time. Most developers are already drinking from the firehose, but when you add operations, infrastructure, and desired Kubernetes skills on top of that, it may as well be the ocean. They ’ re fighting a losing battle that will likely end in burnout.
The best solution to a problem like this is to balance teams with critical skills, not assume that preexisting employees can take on new learning burdens like Kubernetes.
But you also don ’t want a massive team, and research shows that smaller teams perform better. To keep teams small but also add new layers of skill, my strongest encouragement for teams would be to look into platform engineering. Adding platforms or strategic tooling to teams can help infuse them with the missing (yet necessary) skills they need to succeed, while at the same time keeping the core team small and functional.
Developers CAN learn Kubernetes — if they want to. But if they don ’t want to, that’ s okay too. z