thoughts on software development and everything else



I recently passed the Cloud Native Computing Foundation’s Certified Kubernetes Application Developer (CKAD) exam. It was difficult, but well worth the effort.

CNCF is a project founded by the Linux Foundation to promote container technologies. They are responsible for Kubernetes, Fluentd, Prometheus, Jaeger, rkt and many other technologies used with container environments.

A point of difference with other qualifications is that the CKAD is practical - you carry out a series of tasks like you would expect to do working with Kubernetes at a real job. Creating deployments from applications, running updates and rollbacks, fixing errors, setting up networking and storage, etc. This is different from other certifications which focus on multi-choice questions and rote learning.

The exam conditions are pretty strict - sensible for an online certification that you can take anywhere with an internet connection and a webcam. You get assigned an exam proctor who will watch your screen and your webcam throughout, and you must take the exam in a room alone with no notes anywhere near you and nothing running on your machine besides two browser tabs (the exam terminal emulator, and the official Kubernetes documentation).

I found there was not a lot of time to get through all the questions, so you really need to know the commands and structure of the YAML spec files well. You don’t have time to learn from the documentation during the exam.

The practice exercises created by Dimitris-Ilias Gkanatsios were extremely useful in preparation for the exam, and I’d recommend them to anyone studying towards the CKAD.

I turned these exercises into Anki flashcards, which are available publicly here. I recommend doing the exercises from github in a real kubernetes cluster first to learn them properly, before using the flashcards to seal that knowledge in.