Like every engineer, my wishlist of projects and technologies is not getting any shorter. I found myself between jobs a few months ago, and it was an ideal chance to tackle something big on that list. Rust? Machine learning? Something open source? After a few days of consideration, a frontrunner emerged: AWS. I've been a software developer for a good while, and I always enjoy the architecture and infrastructure components of the stack. Certification in AWS is known for its difficulty and rigor, and on top of that, AWS is a clear market leader in the cloud space. Sign me up!
I was lucky enough to be able to devote 100% of my time to this (minus some long holidays). I spent (almost exactly) three months from my initial decision through all associate and professional exams. I used a wide variety of study methods, with various efficiencies. Here, I'll share a rundown of the study methods across my timeline, and then some exam tips.
My first step was to sign up for a training course.
Adrian Cantrill, who has been in the certification instruction space for a while, has recently created a series of AWS courses. These videos present diagrams, labs, and demos to establish the foundational knowledge behind well-architected solutions while preparing for certification exams. There is about 50-60 hours of content per course, some of it recycled between courses. There are some lightweight tests/quizzes that are not meant to be exam-preparatory level, but only to assist memory by repetition. Adrian also runs a Slack community and a Discourse server. I eventually worked through all of this content, for all 4 courses that were available (5th one is/was in development).
The course content proved to be critical for fundamental understanding, and it was excellent for review. The content is encyclopedic, but presented in a way that the first watch is easy to digest. It's tough to study for the exam from these videos only; it's a needle-in-a-haystack problem. But, when reviewing the videos later, there are many little gems of knowledge that are sprinkled throughout - they're excellent conceptual study guides. The strategy I used to get the highest value from these videos evolved into noting down weak spots and re-watching the video later after my knowledge had progressed.
For the Solutions Architect Associate course, I took exhaustive handwritten notes of the videos. To be frank, this was the least helpful of all study methods. I'd thought writing would burn in some memory pathways, or provide me a study guide to refer to, but it did neither of these things.
I ended up with essentially a small textbook - there was so much material to cover that I did not remember all of what I had written, and when reviewing it, it was difficult to extract my weak points from a haze of notes. I abandoned this method after the SAA course, and did not miss it later.
Several weeks in, I had ingested a lot of content, but when doing a few practice problems, it became clear I needed more practice. I also had to scratch an itch: build everything myself to really understand it, without guidance. As folks often do in troubled times, I turned to Reddit. The wise minds there seemed to agree that automating everything was an excellent way to maximize learning throughput, so off I went.
I used my notes and Adrian's videos to create a complete list of topics that I wanted to build. My goal was to build out one full CloudFormation template every day for one month. My final result has 25 full projects, covering almost every topic in the course. As advertised, this turned out to be a fantastic way to get exposure to the AWS console and the AWS CLI at the same time.
I structured my exercises to be 3-4 parts each, of varying difficulty. Nearly all of them can be done with Cloudformation alone. I've got a healthy list of 10-20 more I'd like to make. I'm planning to eventually turn this into some structured format: a wiki, koan, or 99-exercise structure for AWS. These exercises gave me confidence and set the stage for the Developer and SysOps certs. Although they may not have been strictly required, the exposure and practice was extremely valuable.
As my notes piled up, I wanted a way to review them quickly, and pass over topics I knew already. I also wanted to host it on S3, access it on mobile, and perhaps share it with the community with a format that was easy enough for anyone to add to.
After a couple of hours, I ended up with this. It's basically a lightweight static HTML page, and a JSON list of topics. The app can show the answer for a topic, or mark it "complete". This was a somewhat helpful learning tool, but I didn't end up using it as much as I'd liked.
Jon Bonso is another independent provider of AWS study materials: specifically, practice exams. There are exams for all associate and professional levels, as well as most specialty levels. Each level has timed, practice, category-based exams, as well as a final one. I'd guess there's maybe 300 questions per level, all mixed into the various tests.
These exams were the strongest study aid throughout my journey. They were spot on for final exam prep: not too hard, not too easy. Each question has excellent discussion for every single bullet point. Read these, even the ones you got right. Every single bullet is presenting a point that is an exam topic. I kept studying and repeating exams until I was getting strong 80%+ every time.
Something I struggled with throughout this process was confusing or vague language. In my opinion, the exams are extremely keyword sensitive. A few of the more obvious ones are "cost effective", "durability", "on-premises", and "highly available" - but there's tens or hundreds more. On top of that, there's occasionally some confusing grammar. The practice exams help attune you to these keywords and grammar patterns, which almost always lead you directly to the correct answer - if you know what they're telling you. A good way to measure if you're generally improving is that questions suddenly seem more precise, and wrong answers seem more and more absurd.
As I finally started putting together the whole picture, there were a few gaps to fill in.
Initially, I'd started with the goal of Solutions Architect Associate. The TutorialsDojo tests allowed me to audit my readiness for the other tests. Generally, for each of the other exams, I scored in the mid 50% range - not great, but good enough to let me know I was on the right track. Using the methods outlined above, I eventually got those scores much higher, and gained the confidence to schedule the official exam.
At this point, it was a matter of maintaining previous knowledge, and fixing weaknesses. Researching test bullets and re-watching Adrian's videos provided a flood of missing pieces. I tried to figure out how to grok these without the need for an exhaustive review. The answer proved to be something I nicknamed "typeouts". If I was trying to remember a short fact, I typed it out in a few words. This resulted in a list of 20-70 items. Each night before sleep, I took 15 minutes to re-type them out, and then tried to recall as many as I could while falling asleep. The next day, I audited the list and repeated the process.
I would not recommend this technique for the beginning stages: there's simply too much to learn, and the concepts are broad and all-encompassing. This typeout technique is probably best for the end stages, where there's various facts and tidbits that have escaped notice for too long. It's an excellent technique when applied strategically.
Exam day! Here's some general tips that I found to be true while I was taking the exams.
If you're starting your journey, good luck to you!