Journeys in Certification: Certified GitOps Associate

Why did I think this was important? Because it’s 2024, and by now, we should all know GitOps principles matter for accountability, disaster recovery, faster delivery, and automation. Right?

· 5 min read
Journeys in Certification: Certified GitOps Associate

I’m not a “cert collector,” but I don’t take offense if that’s how you see it. I’ve been in the cloud computing field since late 2020, and I believe in progression and continual learning.

My first tech certification was an internal Pre-Sales Engineer cert for a previous employer. After that, I completed the Google IT Course on Coursera during my final year of a computer science degree, followed by earning my CCNA just two days after graduating. I pursued certifications to formalize my 20+ years of computer science knowledge, but often heard from senior professionals that I was "collecting certifications" and should focus on gaining experience instead, which led to a conundrum. Bear with me—there's a point to this.

I learned Linux by hacking my PS3 and rooting my HTC Evo. NetworkChuck's videos taught me Docker, and I picked up Azure because my school was tied to Microsoft. While I gained experience in these areas, I didn’t get certified at the time. According to the "experience over certs" advice, I had plenty of experience—but nothing I could prove to an employer. So, that advice wasn’t particularly helpful.

That’s when I started looking into certifications beyond my school’s curriculum. I skipped the CompTIA trifecta because it didn’t align with my goals. Instead, I went for the Google IT course as a refresher, and my employer’s pre-sales certification because I wanted to know what the heck I was selling—and be able to answer any questions about it.

Outside of school, I certified in Oracle Cloud since it was the first cloud environment I used professionally, and I needed to learn more about it (plus, they gave me 4 free test vouchers—I failed one, but oh well). Since then, I’ve earned AWS, GCP, and Kubernetes credentials, and I use this knowledge daily as I manage workloads on five different cloud providers.

The point is, I’ve always believed certifications are necessary and useful, even if they get criticism and some big companies take advantage of the system. The knowledge you gain while studying is invaluable, and validating your skills is just as important. Certifications are often the only way to get an interview, especially if you haven't been at the same company for 20 years. How else could I prove to a recruiter that I really knew Cisco products and networking? Apparently, my computer science degree wasn’t enough.

Yes, I know the market is oversaturated now. Everyone wants to be an AWS Solutions Architect Associate or an Azure Administrator. I could go on about the flawed thinking behind chasing these credentials. There’s a whole sub-industry where companies charge you to learn their tech so you can work for them—or for the companies that use their tech. It’s strange when you think about it, right?

Still, certifications are necessary. My philosophy is to get the ones relevant to my role, to make me better at my job, and to future-proof myself.

To that end, I recently earned the Certified GitOps Associate from the Linux Foundation, put together by the CNCF and CD Foundation. I’ll admit, it wasn’t too tough for someone who’s been using GitHub for years. But don’t get it twisted—this cert isn’t focused on GitHub or even Git itself, but on the GitOps principles. To successfully deliver software, you need to grasp the motions, tools, and best practices that ensure a smooth workflow. However, if you're just starting your DevOps journey, it can feel overwhelming. You'll soon realize that it’s not just about having your code in a repository—there's a whole ecosystem of processes, automation, collaboration, and infrastructure management that goes into efficient and reliable software delivery.

As a job candidate, understanding how your potential employer delivers software is crucial. Now, imagine landing an interview with a company that hasn't yet formalized their CI/CD processes. How valuable would you be if you could help them implement GitOps principles, backed by the knowledge and certifications to prove your expertise? Understanding how everything fits together is key to navigating the complexities of modern DevOps.

As to why I thought this was important? Because it’s 2024, and by now, we should all know GitOps principles matter for accountability, disaster recovery, faster delivery, and automation. Right?

Preparation and Study Plan:

To prepare, I read several blog posts on GitOps and along with material from the CD Foundation and OpenGitOps sites. There are brilliant write-ups from Conrad Bhuiyan-Volkoff, Giorgi Keratishvilirgi and Hrittik Roy that I highly recommend, plus Hrittik’s video on the topic. Techworld with Nana also has a great video on GitOps that was greatly helpful. Using these resources, I made study notes, which I then turned into a lofi study cram (because why not?). It also helped that I did something similar for the GitHub Foundations certification—which I ended up not taking as it seemed redundant and not as well-rounded.

If you’re working with Kubernetes, I highly recommend configuring Argo CD, deploying, and intentionally causing drift in your cluster to watch the engine reconcile in real time. You’ll see Continuous Integration, Delivery, and Deployment in action, and really understand how Git, as the source of truth, drives the reconciliation process. This will help you understand how GitOps works and the logic behind the GitOps principles.

GitOps Principles v1.0.0

Declarative
A system managed by GitOps must have its desired state expressed declaratively.

Versioned and Immutable
Desired state is stored in a way that enforces immutability, versioning and retains a complete version history.

Pulled Automatically
Software agents automatically pull the desired state declarations from the source.

Continuously Reconciled
Software agents continuously observe actual system state and attempt to apply the desired state.

I also recommend this workshop by Codefresh, they also have labs on their site (many of these are only available for a specified amount of time from the moment you enroll, so plan wisely), and the official course from the Linux Foundation.

Results (drumroll please)

I passed. Not to brag... but that’s what hands-on experience gets you. All in all I did about 10-15 hours of studying with hands-on practice, not including playing my study cram in the background while I adulted doing adult people things like grocery shopping, working out, picking up kids from school and the like. I’ve seen people on Reddit call this certification a joke, a cash grab, etc., but it’s actually useful. It tests your understanding of GitOps and best practices. One quick glance at many Gitlab and Github repos, and a quick look at devops and kubernetes related subreddits would easily let you see many problems would be fixed by knowing, adopting and implementing GitOps best practices. Now, if we could just make a certification for Git Discussion Etiquette, that’d be great.

So, yeah, I recommend this cert, especially if you want to prove your knowledge of GitOps and CI/CD. Maybe GitHub Foundations or GitLab Associate is more your thing, but I didn’t want to be tied to a vendor. Being a cloud nomad is kind of my thing. Also, be sure you immediately put into practice what you learn, and document it. Your repo and your blogs are your life, and they will back your certification knowledge and help you shed the perception of being a memorizer and test-taker.

💡
sudo get shamelessplug