I wanted to write these details down for a long time, but I wanted to wait until I received the Golden Jacket. In this article, I’m going to talk about how I planned, prepped for each exam, and some generalised lessons from my experience
From end of May to mid of July, I studied for, and completed 11 professional certification exams. 9 out of those were AWS certifications, and the other two were the recently introduced CNCF foundational exams, Kubernetes and Cloud Native Associate (KCNA) and Kubernetes and Cloud native Secutiy Associate (KCSA). I’m mostly going to talk about the AWS exams in this article.
My Background
I’m not a beginner in this area. I’ve been in the industry for about a decade and a half, mostly as a software engineer and then going through a few roles doing DevOps, SRE, and landing in a Cloud Architecture job.
I’ve been closely working with AWS for about 7 years, but it’s been a decade or more since first contact. I also have some experience sitting for these AWS exams. The first AWS certification exam I sat for was Solution Architect Associate in 2018 By May this year, I had sat for and passed 4 AWS certifications.
So obviously, me being able to get through 9 AWS exams in 8 weeks is largely because of how close I work with AWS on a day to day basis, not through just rote learning (although, some areas in some certifications did involve rote learning, because even the most diverse kind of work you get doesn’t cover all the areas a certification exam tests you on). This is because I usually learn by doing.
That doesn’t mean I didn’t struggle, and that’s the first lesson I learnt in this exercise
AWS exams do not reward experience that much
Having experince certainly helps, it’s useful to get over the baseline knowledge, that you would otherwise struggle to mental model for.
But certain questions are targetted with specific scenarios in mind that sometimes what you would do in real world would not really be the correct answer in an AWS certification.
For an example, I go for Terraform when it comes to infra as code instead of CloudFormation if I can help it for various reasons. If this was an answer in a question, I’d certainly be failing that.
So you have to study for most exams even if you are well experienced in most areas.
About studying (or paying for courses)
I didn’t spend a dime on effective study materials.
Yes, the exams themselves cost, but I got over all exams without paying for courses or practice exams.
Now there’s a caveat. I did buy a course to prep for the AWS Data Engineering Associate exam, but I quickly found that going trough that course was a waste of my time.
Now hear me out.
I don’t think courses by all third party providers are useless.
I have used those courses in the past, especially when I first did the Solution Architect Associate exam (2018). I would be lying if I said that the course was useless then. They help to punch through some of the baseline experience you would need to complete the exams by yourself.
This is because how we like to think about learning vs how it actually happens (at least when it comes to my brain).
If you think about learning in a structured manner, you’d instinctively think that, to learn something, you first need to start with first principles, then keep on building on the concepts of the layer underneath.
But this is not how real world learning works, at least not for me. For me, I need to do something first, and then try to map what I just did to the theory I’m learning. That helps me build a working mental model of the subject that I’m studying
Think about it. When you were a baby, you didn’t learn to walk by first studying physiological and mechanical details about how bipedal motion works. You grabbed something, stood up, and then wobbled your way to something in the worst way that can be called walking. You then have a baseline to improve yourself with. Maybe a few years down the line, you would learn the complexities of the human body and adjust your gait or something else based on that theoretical knowledge. It helps if a course can help you punch through some of those early boring sessions of studying about shared responsibility model with something practical like a lab, and then try to map what you did with how the cloud service provider manages the cloud and how the user utilises it.
What I’m trying to say here is sometimes you just need to get shit done before trying to fully understand what you’re doing. If you have ever heard of the term tutorial hell, that’s what I’m trying to say that courses can help you get around.
Having said that, I do believe that the moment you gain some level of working experience, these courses start to become useless.
This is not the case for all providers. There are some providers that are effective at communication and keep their courses up to date.
But I find that most providers tend to repeat what the AWS documentation has, mostly in presentation format, which is the most boring way teaching something in my opinion.
And worse, these course materials tend to expire pretty quickly, especially when it comes to AWS that keeps on releasing new services and features while deprecating the ones that don’t work with the customers.
So if the provider doesn’t put a lot of time into maintaining the course materials to sync with the AWS releases, you soon end up with expired and sometimes just straight up wrong information. And unfortunately most providers cannot and do not keep their materials up to date
In my opinion, a better and a more economic way of studying is to just do it yourself.
Now that’s probably not the groundbreaking lesson you were waiting for, but it is simple as that. For every certification exam AWS provides an exam guide. This goes into detail on the areas the exam will cover, at least when it comes to the scored questions. In my opinion this is more than enough to get started on studying, especially if you have some level of experience working with AWS. Search the web for each sentence you come across on the exam guide, and you will find the relevant AWS documentation link. It could be service or solution documentation or it could be an article from the AWS blog. What’s important is that you get accurate up to date information from the primary source itself.
The downside here is that it takes time to do this. You have to read through a lot of documentation, and you have to sometimes study more background information before certain concepts can be understood.
One step that can be added here is to use the standard exam prep course in AWS SkillBuilder that is available free for each exam. Almost all of these courses discuss what and how you should study and discuss a few structured questions, so going through this prep can help you understand which areas you should focus on.
And what’s cool is that almost all the exam prep courses have a 20 question practice test that you can use to gauge how prepared you are at a certain point. There’s a paid version of the practice test where you get more questions, but I’ve never used that option during the 8 weeks. It could be a really valuable tool if you want to pay for learning.
So to recap, exam guide -> prep course -> AWS documentation -> practice test is all you need if you have time and experience.
Scope of different exams
When it comes to the actual scope of the exams, you’ll find that there’s a common baseline knowledge of AWS you should have for every exam.
This is a combination of basic software engineering and cloud concepts, security (IAM), cloud storage (s3, ebs, efs), and cloud networking (vpcs, subnets, and routing).
The depth of the areas you should be familiar with would vary depending on the exam and the level (foundational, associate, professional, or specialty) but these areas are common to all exams.
If you don’t have a strong grasp of these areas, then definitely invest some time to get some theoretical and practical knowledge under your belt. They should be first class citizens of your mental model of AWS.
Everything else is specialisation for the specific exam area.
The order of the exams could be interesting too.
I roughly planned to get the associate ones done first. Started with solution architect associate and progressed through all 4 associate exams in 3 weeks. I did some studying especially for the data engineer associate, but other associate exams will be easy if you work with AWS on a day to day basis.
Then it was the time to tackle some of the specialty exams. I first did security specialty because this is the easiest exam for me. I only spent maybe 4 hours of studying the day before. In my day to day work thinking about aws security is almost the primary job. I think this was the exam that I got the highest marks for.
I then found out that both the SAP specialty and the database speciatly had been deprecated, so that was a huge relief. I don’t intend to ever work with SAP but I had already mentally prepared to get that done. Hearing the news that I don’t need to break my oath was a bright light in a dark tunnel.
I got the cloud practitioner and Soltuion Architect professional exams done while I was studying for the advanced networking speciatly. Solution Architect professional is literally my job, so it’s just a matter of concentraing on the questions.
The cloud practitioner foundational exam is almost negligible if you have some level of working experience. I don’t think this requires any discussion.
Advanced networking specialty is the hardest AWS exam I’ve ever sat for. This is natural because networking, especially outside the LAN, has been an area with minimal experience for me. I spent quiet some time understanding the basics like BGP and BGP communities and then some.
Completing advanced networking specialty exam was enough for me to qualify for the golden jacket, but I went ahead and did the devops professional exam just to make sure that my qualifications wouldn’t expire after a few months.
The only exam I didn’t do is machine learning specialty, It wasn’t going to expire soon, and I was already showing signs of burnout.
After I got notified that I’d be getting the jacket, AWS released the two beta exams for Machine Learning associate and AI foundational. ML associate basically has the cut down scope from ML specialty, so I had to study the same areas again. Machine Learning is another area that I don’t have a lot of experience on.
Assumption of details for each level of certification
Now when it comes to answering questions, I could notice that there’s a certain “assumption of detail” you have to make for each level of the certifications. The level of detail you have to consider for an associate exam is different from the level of detail for a professional or a specialty exam. If you think too much for an associate level question, you could end up at a “local minima” of reasoning and a wrong answer. Remember that these questions are created by Subject Matter Experts but they aren’t 100% perfect. There could be very similar answers that might be wrong for reasons that are not that clear in the real world.
K8s Certifications and mandatory downtimes
Between these exams, I also scheduled and did two K8s related exams, KCNA and KCSA, but these took a combine number of I guess 4 hours. They are foundational exams and k8s is my happy place of engineering.
I had to spend some time between exams especially when it comes to specialty and professional ones that take 3 hours because the exam centres did not have close enough appointments. That’s another lesson, always do your exam at an exam center, not at home. Trust me, you’ll be thanking yourself for not putting on all that additional stress.
Dancing with burnout
Speaking of stress, I don’t aim to do this exercise again, maybe ever.
Doing a lot of exams in a very short period of time isn’t new to me, it’s basically the third year’s second semester at the university for me.
But doing that while being full time employed isn’t a great experience. Luckily I worked with people who understood this, at the time, I had 4 colleagues who already had the golden jacket.
But it’s not something I recommend for anyone You have to dedicate almost all of your free time to studying and being hyper focused on exams, and then do that while context switching with a job that you can’t just coast through on auto pilot. If you work with your brain, you have to rest with your hands (ok not that way). You don’t get that chance when you do something like this.
I did get close to burnout. I did get to a point where I was dreaming multiple choice questions. Like when I was evaluating answers for the question of figuring out the grocery list, you know the kind, the early morning dreams.
I did find windows of downtime where I could play games or watch movies, but I couldn’t start any hobby projects that take some time commitment. So essentially I was “burning the candle at both ends”. And that’s not sustainable.
So why did I do it then?
Well, there was a practical reason of not spending too much time on the exercise. I hate studying, and I didn’t want to do that for a whole year (not now). And I knew there was a significant overlap in the exams so if I go through them quickly, I’d only need to keep the study material in my mind, my RAM if you will, for a short period.
Getting a perfect score was a non-goal. I just wanted to pass each exam, I didn’t want to obsess over getting a perfect score. I did however wanted to get good scores for every exam, basically wanted to sit for every exam with some confidence. So the time I planned to spend vs the outcome was at a tight balance.
And there was this other reason of just because. I wanted to see if I could do it. I wanted to see where I’d break, and I think I saw that point at a distance.
What I recommend if you want to go through this, is to spread out the exams throughout an year, or even a few years. AWS certifications are valid for 3 years so you practically have more than 2.5 years to complete all of them and still qualify for the jacket. But you’d be in that “exam mode” for the entire time, so there’s probably a sweet spot around 6-12 months of work.
Conclusion
So those are what I learned from that exercise. I hope these make sense to you in a general way if you want to aim for getting the golden jacket.