Tips on Passing Ur AWS Certification

How I scored 947 in less than three weeks of studying with no prior experience

Certified Developer Associate DVA-C01 badge by Amazon Web Services

One of my goals for 2020 was to get better at DevOps-related tasks. I had practically no experience with AWS, except for using Rekognition and S3 to implement a facial recognition feature in an application I had built over two years ago.

Here’s the scorecard of my exam result.

I started studying for the exam on November 21 and took the AWS Certified Developer — Associate (DVA-C01) exam on December 9. Here are some strategies that helped me pass the exam with ease.

1. Actually Build Something Using AWS

Just like any good student of computer science, I decided to purchase a handful of online courses to help me prepare for the exam. While the courses provided a structured learning experience and were effective at outlining the theory at a high level, I found myself struggling to learn effectively by following along with the simple “hello world” examples.

I found the hands-on exercises presented by the instructors to be far too simple and not representative of what you would be doing in the real world. Who runs Nginx/Apache on EC2 without SSL/TLS or a JavaScript function on Lambda without a handful of libraries in node_modules?

This is not to say that instructors/courses are ineffective at preparing you for the exam — they are perfectly adequate for you to pass — but if you are like me and learn best with a hands-on, in-depth approach, then you might need to do a bit more than just pull httpd from ECR to your Fargate cluster and call it a day.

So right after learning the high-level theory for a particular service, I skipped the instructor-provided labs and decided to get some real-life hands-on experience by either migrating a particular app of mine from Heroku to AWS or simply deploying one already on AWS in a different way. In the interest of having everything under one roof, I also migrated from Godaddy DNS to AWS Route 53.

By the end of my practice/study period, I had migrated all my apps out of Heroku (four to be exact). So in addition to slashing my hosting costs by over 60%, I also gained valuable hands-on learning. A win-win situation in my book. Here is my AWS bill compared to Heroku:

Heroku (left) vs. AWS (right). I went from spending $126 USD/month to $42 USD/month.

For each app migration, I made a conscious effort to use a particular service set from AWS that would cater to the needs of the app. For example, for a large enterprise-grade Rails app, I made sure to use RDS for the PostgreSQL database, ECS on EC2 for application servers, and Codepipline for CI/CD. For a small agency website, I figured a T2.micro EC2 instance with certbot would suffice.

I embraced serverless when I migrated a React app hosted on Heroku to AWS using nothing more than an S3 bucket, a Cloudfront distribution, and an SSL/TLS certificate sponsored free of charge by ACM.

2. Learn From a Diverse Set of Sources

In addition to the course materials offered by Neal Davis and Stephane Marek, I also read official AWS documentation and articles. This paid off when I stumbled across a few topics that were not discussed in the courses (at the time of writing) on the exam (e.g. AppSync, infrastructure/application side effects of various caching strategies).

3. Post-Mortem Each Practice Test and Don’t Look at the Correct Answer Until You Figure It Out Yourself

Soon after completing a test, I went over each of the questions I got wrong and copied them down without looking at the answer. After I had a list of questions and answer choices, I tried to find documentation that I could read to pinpoint the correct answer. More often than not, I was able to deduce the correct answer with a few Google searches. This kind of active learning/research helped me develop a more intuitive understanding of AWS and how all the services fit together.

After following this regimen for a few tests, I was starting to see patterns and was able to sniff out incorrect answers much quicker than before. This process of elimination helped me immensely when trying to answer questions that seemed to have more than one correct answer.

4. Follow a Study Regimen and Aim to Complete 2 Practice Tests a Day

After I completed the training materials. I went through all of Neal Davis’ and Stephane Marek’s tests on Udemy. I decided that I would postpone the exam until I was consistently scoring 80+ on the practice tests. As it turned out, I didn’t have to postpone the exam date because completing at least one test and post-mortem a day kept my skills sharp. I used a spreadsheet to track my progress and noted weak areas after each practice test.

I completed ten practice tests around 27 times (cumulatively).

I failed practice tests consistently for about a week (except for one fluke pass), but I tracked the services that I kept struggling with and managed to get over the initial slump by focusing my studies on them.

5. Rapid-Fire Tips

  1. Don’t take the test until you can consistently score 80+ on practice tests.
  2. During the exam, use the flagging feature to mark questions you are unsure of (avoid revisiting every single question to save time).
  3. Read exam questions thoroughly, paying special attention to phrases like “least cost,” “minimal code changes,” “most secure,” “easiest way,” “least management overhead,” etc.
  4. Brush up on your mental math. For my DVA-C01 exam, I was not allowed to use a calculator (physical or otherwise).

That’s all I’ve got for now. Thanks for reading and best of luck on your AWS certification