Automation solves a lot of problems, but someone still has to do the other – hopefully more innovative – work.
That’s one reason Kubernetes-related hiring keeps rising this year. The confluence of hybrid and multi-cloud environments, cloud-native development, and containers increases the need for IT pros who can spin these multiple plates.
So if you’re looking to pivot out of a stale job or rechart your career path, Kubernetes spells opportunity. In the “always be learning” culture of IT – and the common IT career advice to do the same – the container orchestration technology seems a good bet for sustained growth.
But how do you convince a current or future employer to take a chance on you when your current Kubernetes experience is roughly zero? This is the job hunter’s dilemma. Fortunately, Kubernetes’ relative youth and other factors mean it’s fertile ground in which to cultivate a future career move. There are ample resources for getting started. Also, it’s not like you need to chuck your existing skills – be they in development, infrastructure, or other areas – to do so.
“The good news is that while Kubernetes deployments can be complex, Kubernetes itself is based on simple principles, and your existing skills will probably translate well,” says Matt Dresden, DevOps practice lead at Nexient. “With the abundant documentation, code, development tools, and environments available online, teaching yourself Kubernetes is very much within reach.”
Yes, production experience will get you a leg up with hiring managers. But everyone has to start somewhere. And while you can’t just sashay your way from zero experience into a Kubernetes-facing role, IT pros willing to learn will find open doors ahead.
[ Read also: Kubernetes job interview questions: How to prepare ]
“Not everybody has on-the-job experience with Kubernetes, but that won’t necessarily prevent you from getting a job that requires Kubernetes skills,” says Manish Chugtu, CTO of cloud infrastructure and microservices at Avi Networks.
How to transition into a Kubernetes job: 5 to-do items
Here’s what Kubernetes experts like Chugtu and Dresden advise, both in terms of learning from scratch as well as showcasing other skills and experience that will translate well into working with Kubernetes in a day-to-day role.
1. Start reading (and watching and listening)
There’s already a rich array of online resources for learning Kubernetes, from the official documentation to tutorials, courses, and more. Dig in.
“Even if you haven’t worked with Kubernetes before, you can glean a lot from how-tos and reference materials provided by the Kubernetes community,” Dresden says.
[ Learn the lingo fast with our Cheat sheet: Kubernetes glossary ]
Don’t limit yourself to reading just the official documentation. It’s very good, but there are plenty of places to look, including online courses from sites like Udacity and interactive sandboxes from sites like Katacoda. We put together a list of 12 ways to get smarter about Kubernetes that might help.
2. Start actually using Kubernetes: Meet Minikube
“When it comes to getting a job, practical knowledge beats theory every time,” Dresden says.
That might seem like an outsized obstacle. How do you get your hands on a real live Kubernetes cluster without breaking the bank – or breaking a production system?
It’s not actually an insurmountable problem.
“Many popular tools and applications are available from mature Kubernetes configurations, which work with official containerized versions of those systems,” Dresden says. “Use them to familiarize yourself with the standard Kubernetes primitives and learn how to leverage core principles like modularization, parameterization, and declarative templating patterns. You should be able to replicate all these examples with minimal effort, using existing managed Kubernetes deployments or setting up your own simple ‘toy’ development instances.”
Commercial platforms like Red Hat OpenShift or managed Kubernetes services often offer free trials or individual accounts for experimentation and learning. Also, consider taking Minikube for a spin: This free tool lets you run a single-node Kubernetes cluster locally on a laptop. We recently shared five ways you can use Minikube for learning and other purposes.
3. Get involved in the Kubernetes community
No one expects you to go from zero Kubernetes experience to making regular commits to the open source project overnight; you shouldn’t either. But look for more reasonable ways to get involved, such as attending – or even starting – a local meetup.
“The best thing a developer [just starting out with Kubernetes] can do is learn, get involved in the community, and build,” says Leo Shemesh, CTO at Jackpocket.
4. Showcase your skills with related technologies
This is the biggie: Unless you’re an accountant who has decided to transition into IT (hey, it happens), you likely have existing skills and experience that speak to high potential if given the opportunity to learn and work with Kubernetes on the job.
“Kubernetes is a tool that can be learned,” Chugtu says. “Your focus is to prove that you’re the right person the company should invest in to learn Kubernetes.”
Here are some key examples of areas worth highlighting:
- 12-factor app methodology: “Microservices architecture is based on the 12-factor application methodology – a concept that was widely accepted before Kubernetes grew to what it is today,” Chugtu says. If you know it, highlight it.
- Other relevant technologies: Chugtu similarly advises emphasizing skills in related areas such as distributed systems, CI/CD, and competing orchestration technologies.
- Containers: Kubernetes exists because of containerization and microservices, not vice versa. Shemesh says developers with Docker experience should absolutely point a spotlight on it as well as other containerization technologies.
- Relevant programming languages: Chugtu advises developers to underscore relevant languages such as Go. Kubernetes was originally written in Go; it’s also the language behind container technologies like Docker and rkt.
- Automation technologies: For operations pros, emphasize experience with automation and configuration management tooling. “If you’re in operations, emphasize your experience with automation tools like Ansible, Terraform, and so forth,” Chugtu says.
5. Match your learning to your goals
You wouldn’t follow a marathon protocol to train for a 5K race. There’s a similar principle of overtraining here: Know what you want to accomplish and plan accordingly. If you want to be able to build systems from the ground up, for example, that’s a different proposition than being able to administer managed environments.
“The learning curve really kicks in if you are interested in configuring and deploying Kubernetes clusters themselves, which requires significant knowledge of its underlying architecture, as well as how to deploy scalable infrastructure,” Dresden says. “That deeper understanding of Kubernetes and traditional ops practices – security, networking, storage, etc. – is not as steep if you are only interested in system orchestration using a pre-built environment.”
But remember: Kubernetes is just one technology
Consider this the IT equivalent of “there are other fish in the sea.” Remember that Kubernetes is just a single technology, albeit a powerful one. There are others, many of which are increasingly overlapping. Don’t obsess or stress too much – it’s an ongoing process of learning, including for people with far more expertise than you.
“Anybody can learn Kubernetes, and there are plenty of other tools out there in the DevOps landscape that require just as much in-depth knowledge and know-how,” Shemesh says.
[ Kubernetes terminology, demystified: Get our Kubernetes glossary cheat sheet. ]
Comments
In #4, no mention of cybersecurity? Oy.
Yes,
Here are some advantages of Kubernetes:
Firstly Kubernetes does not limit the types of applications supported. Moreover, Kubernetes aims to support an extremely diverse variety of workloads, including stateless and stateful even data-processing workloads. Thatswhy If an application can run in a container, it should run great on Kubernetes.
Kubernetes never deploy source code and does not build your application. Continuous Integration, Delivery, and Deployment (CI/CD) workflows are determined by organization cultures and preferences as well as technical requirements. Visit for More - https://www.simpliv.com/developmenttool/kubernetes-docker-complete-course-2-in-1-hands-on
Kubernetes does not provide application-level services, such as middleware (e.g., message buses), data-processing frameworks (for example, Spark), databases like MySQL, caches as built-in services. Such components can run on Kubernetes, and/or can be accessed by applications running on Kubernetes through portable mechanisms, such as the Open Service Broker.
Kubernetes never dictate logging, monitoring, or alerting solutions. It provides some integrations as proof of concept, and mechanisms to collect and export metrics.
Kubernetes does not also provide nor mandate a configuration language/system (e.g., jsonnet). It provides a declarative API that may be targeted by arbitrary forms of declarative specifications.
Kubernetes never provide nor adopt any comprehensive machine configuration, maintenance, management, or self-healing systems.
Though Kubernetes is not a mere orchestration system. In fact,kubernetes eliminates the need for orchestration. In contrast, Kubernetes is comprised of a set of independent, composable control processes.Kubernetes also drive the current state continuously towards the provided desired state.