More and more employers are looking for people with Kubernetes experience. Here are the skills you need to jump-start your career.
Experience with Kubernetes has quickly become one of the most valued assets employers are seeking as they search for candidates. Hundreds of companies like Capital One and Walmart now run at least 50 clusters in production and send representatives to attend conferences hunting for prospects with Kubernetes experience.
There are now more than 16,000 Kubernetes-related jobs on Indeed.com and other sites have seen massive increases in postings over the past year, especially since the onset of the coronavirus pandemic.
“Kubernetes is relatively new—before applying for Kubernetes-related jobs, it’s important to have some functional knowledge of the platform and how to use it. Kubernetes introduces completely new environments and new technologies—the skill set needed to make it functional in a professional setting is new too,” Wei Lien Dang, co-founder and chief strategy officer of StackRox, said in an interview.
“There are a lot of resources to help get started with the basics of containers and Kubernetes concepts, which is a good starting point. But Kubernetes requires a fairly advanced skill set—it’s very useful to be familiar with Linux, cloud, and DevOps methodologies/tooling before starting with Kube.”
SEE: Kubernetes security guide (free PDF) (TechRepublic)
In July, the Cloud Native Computing Foundation (CNCF) partnered with the Linux Foundation to offer certifications courses and exams that allow people to become Certified Kubernetes Administrators and Certified Kubernetes Application Developers.
Nearly 46,000 people signed up and it has become clear that those who can master distributed and diverse container-driven, cloud architectures will help drive the digital enterprise. Yet for all the talk of opportunities, the Kubernetes job market is fragmented—as evidenced by a mushrooming of job titles and role descriptions, from cloud and Kubernetes architect through to site-reliability engineers—and more in between.
This raises an important practical question for those chasing jobs: Does there exist a core set of Kubernetes technologies and skills that would let them maximize as many opportunities as possible?
“Job seekers should also look at certifications and training courses to start learning about the platform. For those considering the administrator route, there is the Certified Kubernetes Administrator certification created by the CNCF and the Linux Foundation. Kubernetes is a complex platform with a steep learning curve, so the coursework is best combined with hands-on, practical experience,” Dang said.
“Its complexity enables a lot of flexibility and adaptability in different environments but also makes it more difficult to learn, at least initially. When learning the platform it’s much more feasible to get started using Kubernetes to accomplish a single, specific task rather than trying to apply it to a wide-scale deployment—this lessens the learning curve. Job seekers should think about that as they start to orchestrate their own environment and acclimate themselves with the platform before they initiate their job searches.”
Roopak Parikh, co-founder and CTO of Platform9, echoed those same concerns, telling TechRepublic that when hiring for Kubernetes roles, they generally look for people with certifications or backgrounds in DevOps.
Parikh explained that Kubernetes functions are primarily part of the DevOps department of an organization because it is at the crux of two pivotal things: infrastructure and applications.
“A lot of DevOps people who start working with Kubernetes already have what I call an ‘infrastructure-code’ mindset. If they have worked on any of the technologies related to infrastructure-code like Ansible, they also need to understand Kubernetes because ultimately it’s about ‘Hey this is my application, this is my infrastructure that I need,’ and so you create it in Kubernetes. If you have that mindset then it really helps,” Parikh said.
“If you are a DevOps person who has experience with things like Spinnaker, Jenkins, Argo CD, you are very comfortable with it, because if you are going to be supporting a Kubernetes platform, you will typically be running those applications. If you know how to deal with Docker, EC2 container registries, ECR, Docker.io, and JFrog, people will like working with you because those are the kinds of problems enterprises face when they’re on a Kubernetes journey.”
For organizations with one or more Kubernetes applications, the writers of these applications will need to monitor them for performance, log solutions, and perform other diagnostics.
It is now important, he said, for Kubernetes administrators to also know about security measures, recovery or backup systems, and networking.
Parikh added that public and private clouds each required different bases of knowledge about exposure and security.
“If you look at Kubernetes, it really fits that DevOps persona. But I think the backgrounds in different places, be it in infrastructure-as-code, experience with storage, networking, security, all those are essential ingredients to Kubernetes. You have to think about all of the aspects that you will touch as an administrator,” Parikh said.
“We look for two kinds of candidates. People who have strong DevOps backgrounds are brought in because they have the background and we know they will learn Kubernetes. The other ones that we look for are people who have some kind of certification. Kubernetes has a couple of certifications that I highly recommend for folks to go through.”
Like Dang, Parikh cited the Certified Kubernetes Administrators from CNCF as a certification that was worth getting for anyone hoping to get a Kubernetes position.
Even if Platform9 hires a person who does not have those certifications, Parikh said they strongly encourage employees to take the exam because it helps them gain new skills and helps the company.
Kubernetes, he added, is not difficult for someone with experience as a developer, but it may be daunting for someone with no technological or computer science background.
Priyanka Sharma, general manager of the CNCF, said in an interview that those who may be interested in learning more about Kubernetes should not be scared off by the difficulty of the technology.
“Cloud-native and Kubernetes ecosystems are so pervasive now. It’s the skill companies are looking for when they’re hiring but often there is a perceived barrier to entry which partially comes from the fact that within five years, a formerly esoteric space of ‘How do you run distributed systems at scale’ has become mainstream,” Sharma said.
“I often hear this, especially when I talk to women and other minorities who are not yet in our ecosystem, that it sounds like you need 20 years of experience to even get going. And to everyone I say: That is not the case. You can start with cloud-native today.”
Sharma said more than 15,000 people have graduated from CNCF’s Kubernetes training and programs while they have seen an explosion of interest due to the value of the technology in the job market.
While the exams are difficult, Sharma said they were worthwhile because they provided you with rigorous training that prepared you for the kind of work you’ll see in the real world.
“When I worked at GitLab, one of my first hires for the role was a certified Kubernetes admin and he is so proud of his certification and it helps him so much,” Sharma said. “He also started feeling out the community. Figure out which tech your team uses. Look for projects that are being used. Go to issue boards, see the documentation, and join Slack channels.”
Sharma herself was a political science major before learning programming and getting deeply involved in the world of Kubernetes.
With a baseline of knowledge and some programming skills, Sharma said it would take about six months of prep time before you can begin taking certification exams. Outside of certifications, on-the-job training is also a way some people are getting their feet wet with Kubernetes.
If you’re aiming for engineering positions, the expectation will be that you’ve been programming in certain languages for at least a year, if not more. For non-engineering roles, the requirements are completely different. For positions in customer success, candidates need to understand what Kubernetes end-users need and specific use cases that may be helpful.
“Kubernetes and containers have become virtually synonymous with cloud-native development, which allows companies to move fast, deploy software efficiently, and operate at an unprecedented scale. From Gmail to YouTube to Search, everything at Google, for instance, runs in containers,” Sharma said.
“But companies are finding it difficult to fill these positions. A StackRox survey of 540 IT and security professionals cited both an internal skills shortage and a steep learning curve as the two most significant Kubernetes challenges impacting their companies.”