How I Passed the AWS Solutions Architect Associate Exam (SAA-C03)
After 2.5 months of studying after work, on weekends, and honestly whenever I could squeeze in the time, I passed the AWS Certified Solutions Architect - Associate exam. First try.
I want to break down exactly how I studied. What worked for me was five things stacked together: a solid course, hands-on building, physical flashcards, practice exams that humbled me repeatedly, and using AI the right way instead of as a crutch.
The Foundation: Stephane Maarek’s Udemy Course
I started with Stephane Maarek’s Udemy course because it’s the one almost everyone recommends. I sifted through various subreddits and landed on that one. It’s thorough and pretty up-to-date. It covers the breadth of services the exam actually tests, not just the popular ones like EC2 and S3.
But watching videos alone was never going to be enough. The course gave me a first pass at the various topics, but it didn’t give me mastery of them. I knew going in that I’d need to do something with the material, not just consume it. So, I stated building…
Building Things For Real
This is the part I think people skip, and it’s a mistake. I spun up VPCs, load balancers, EC2 instances, and Auto Scaling groups myself. I broke things on purpose. I misconfigured a security group just to see what would happen. I set up Route 53 routing policies and watched the traffic actually shift.
There’s a difference between hearing “Application Load Balancers support path-based and host-based routing” and actually building an ALB, writing the routing rules, and watching it route /api one way and /images another. The second one sticks. The first one is just a sentence you’ll forget in a week.
Physical Flash Cards
I know this sounds a little backwards in the era of AI, but this was the single biggest driver of my retention. I made physical, handwritten flash cards for the concepts I kept mixing up.
Writing something down by hand forces you to compress it. If I couldn’t fit the difference between Security Groups and Network ACLs onto one card, in my own words, that told me I didn’t actually understand it yet. I couldn’t skate by on recognition, the feeling that something sounds familiar when you see it on a screen. I had to actually produce the answer from scratch, out loud, holding a card.
Digital flashcard apps never worked for me the same way. Something about the physical act of writing it, and then quizzing myself with an actual object in my hand, made the information stick in a way that scrolling through a deck on my phone never did.
Practice Exams Exposed Every Gap
Tutorials Dojo practice exams were where the real learning happened. Not the course, not the flashcards. The practice tests.
Watching a video and thinking “yeah, that makes sense” is a completely different experience from getting a question wrong and realizing you confused Amazon Global Accelerator with CloudFront, or that you thought Detailed Monitoring on EC2 tracked memory usage when it doesn’t track memory at all. Practice tests don’t let you fool yourself. They tell you exactly where the gaps are, and more importantly, they tell you the shape of your mistakes. I kept noticing the same pattern show up: picking the option that was close but not quite right, instead of the one that actually matched the requirement in the question.
I treated every wrong answer as more valuable than a right one.
Using AI to Fill the Gaps, Not to Learn For Me
This is the part I want to be clear about, because I think it’s easy to misuse AI when you’re studying for something like this. I didn’t use Claude to learn the material for me. I used it the way you’d use a knowledgeable coworker sitting next to you, someone you can turn to and ask “wait, why is this the answer and not that one” when two services seem confusingly similar.
Security Groups versus Network ACLs is the classic example. On the surface they sound like they do the same thing. I’d ask Claude to break down exactly where they differ, stateful versus stateless, instance level versus subnet level, allow-only versus allow-and-deny, and walk through the specific trap the exam sets up around it. Same thing with Application Load Balancers versus Network Load Balancers, or Global Accelerator versus CloudFront. These are the pairs where the exam wants to see if you actually understand the distinction or if you’re just pattern matching on familiar words.
The key was using it to target specific confusion after I’d already done the work of watching the course, building the infrastructure, and taking the practice tests. It filled the gaps and cleared up any confusion I had about adjacent services.
What I’d Tell Someone Starting Out
Don’t rely on one method. The course gave me breadth. Building gave me real understanding instead of surface-level recognition. Flashcards forced retention. Practice tests told me the truth about where I actually stood. And AI helped me close out the specific, nagging pockets of confusion that were left over after everything else.
This exam, and honestly the process of studying for it, was a “prove it to myself” moment more than anything else. Proof that I could commit to something hard, after work, for months, and actually see it through.
Onto the next cert.