How I passed the AWS Certified Developer - Associate Exam
Published: 2021-02-14 20:08:03

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/qzhckrcorfeg8s6a1160.PNG)
#Introduction

I passed the AWS Certified Developer - Associate exam via the online proctored option in February 2021. If you're reading this article, I am going to assume you know what the exam is. If not, go to this link to get the details.

https://aws.amazon.com/certification/certified-developer-associate/

This is my 5th AWS certification and my highest score at 96%. 96% is only 3 out of 65 questions wrong so I'm starting to get it right. I put this article together to share the resources I used to pass the exam and how beneficial I thought they were. I will also share some tips from my exam and outline a review of the online proctoring process. This article is based on my own experience and shouldn't be taken as a sole guide to pass the exam.

#Let's begin
When beginning study for an AWS cert, I like to start with the on-demand Exam Readiness courses that AWS provides at https://www.aws.training/. They are free courses, generally only 2.5/3 hours and they give you a good understanding of what you are facing into. The courses also run through practice exam questions which I always find useful.

Exam Readiness: AWS Certified Developer – Associate (Digital)
https://www.aws.training/Details/Curriculum?id=19185

In addition, AWS ran a similar course as part of re:Invent this year. It covers much the same content with different practice questions.

Exam Readiness: AWS Certified Developer - Associate (reInvent)
https://virtual.awsevents.com/media/1_pq7q2pvr

And that's just the warm-up act. The two main resources I used were the freeCodeCamp series on Youtube by Andrew Brown and the AWS Certified Developer - Associate 2020 course in A Cloud Guru. 
The freeCodeCamp series is in 2 parts, Part 1 is 11 hours long and Part 2 is 4 hours. This is all free content curated and presented by Andrew Brown. It's an amazing resource if you want to get started and are short on funds.

AWS Certified Developer - Associate 2020 (PASS THE EXAM!)
https://www.youtube.com/watch?v=RrKRN9zRBWs&t=21954s

AWS Certified Developer - Associate 2020 (Full Course - PART 2)
https://www.youtube.com/watch?v=eCopK1RoyFM&t=0s

To access the A Cloud Guru course, you will need a paid subscription. Again, it's a very detailed course presented by Faye Ellis.

https://learn.acloud.guru/course/aws-certified-developer-associate/dashboard

Both had great content and I don't think I could recommend one over the other to pass the exam. Two key differences are cheatsheets and practice exams. freeCodeCamp provides valuable cheatseats as summaries at the end of each lesson. To give a measure of how valuable these are, they were the last thing I read before going into the exam. A Cloud Guru gives very good practice exam questions with good feedback as to why your answer was right or wrong. Both courses cover the same 40 or so AWS services that you need to pass the exam. One difference I noticed was that the freeCodeCamp series covered the whole area of AWS networking including VPCs, Auto Scaling Groups, VPC Endpoints, NACLs, Security Groups and VPC Flow logs whereas A Cloud Guru did not. To be fair to A Cloud Guru, this is a considered omission as not even AWS expect this to come up in the Developer Associate exam. In their official exam guide, they focus more on development services. Networking is more of a requirement for the Solution Architect exam. One key thing to get right in your mind is that the exam focuses far more on AWS's development services rather than traditional EC2 in VPC architectures. Development in AWS is more about picking the right service for the problem you are trying to solve.
This makes sense as it is the AWS Developer Associate exam, not the lift-and-shift it onto AWS exam.

#Next steps
Once I had gone through all of the above courses including walk throughs, labs and practice exams, I sat the official AWS practice exam through https://www.aws.training/. Results are broken down between these 5 domains:

|Domain                                   | % of Examination 
|-----------------------------------------|---
|Domain 1: Deployment                     | 22% 
|Domain 2: Security                       | 26%
|Domain 3: Development with AWS Services  | 30%
|Domain 4: Refactoring                    | 10%
|Domain 5: Monitoring and Troubleshooting | 12%|

I only got 70% which was not enough to pass the exam. From these results and from practicing the A Cloud Guru exams, I could tell that I was still weak in both the Deployment and Security domains. I also knew that I could not learn anymore from the materials I had used up to this point. Therefore I would have to go deeper into the AWS recommended whitepapers and faqs listed on their study guide. A Cloud Guru also recommends much the same papers plus additional re:Invent videos. The rest of this article is a review of this content plus others that I found valuable to pass the exam.

#Domain 1: Deployment 
I'm putting Elastic Beanstalk under the Deployment domain as most of the questions I got on the service were in relation to how you deploy code through the Elastic Beanstalk service. There are definitely questions on EB in the exam so it's worth studying.
https://aws.amazon.com/elasticbeanstalk/faqs/

This whitepaper was recommended by A Cloud Guru and it was published in October 2020. Therefore if you're looking to up your game in CI/CD and DevOps in general, it's essential reading and will be helpful for the exam.
https://d1.awsstatic.com/whitepapers/AWS_DevOps.pdf

The following two are recommended by both AWS and A Cloud Guru. They are from 2016 and 2017 respectively. The more recent AWS_DevOps paper above covers much the same topics. If you're stuck for time, I would recommend to skim through these two but definitely focus on the aforementioned AWS_DevOps paper.
https://d1.awsstatic.com/whitepapers/AWS_Blue_Green_Deployments.pdf
https://d1.awsstatic.com/whitepapers/DevOps/practicing-continuous-integration-continuous-delivery-on-AWS.pdf

A Cloud Guru recommends both these talks but I didn't find they covered anymore than the 3 papers above and in their own material.

AWS re:Invent 2018: [REPEAT 1] Continuous Integration Best Practices (DEV319-R1)
https://www.youtube.com/watch?v=77HvSGyBVdU
AWS re:Invent 2018: [REPEAT 1] Moving to DevOps the Amazon Way (DEV210-R1)
https://www.youtube.com/watch?v=Pvb74TlV8SA

##Cloudformation
Deployments of lambda and other serverless services via Cloudformation would fit under this domain. Cloudformation is essential to know for the exam. Unfortunately, AWS or A Cloud Guru did not recommend any extra material for Cloudformation. My best advice here is to study the freeCodeCamp and A Cloud Guru materials on Cloudformation as best you can.

##CodeCommit/CodeBuild/CodeDeploy/Codepipeline
You'll need to study these 4 services for the exam. To be honest, I skipped through CodeCommit thinking it was just Git but I struggled with the few questions that came up in the exam. I would recommend others be more diligent in this area.

#Domain 2: Security 26%
I did not know enough about this domain before studying up on the resources below but now I want to know more. It's fascinating and understandable why AWS invests so much in security. They really take a belt and braces approach to it. At 26%, it's 16 questions in the exam so it's essential to study up. KMS came up a lot in my exam and in my opinion, it wasn't covered enough in either of the freeCodeCamp or A Cloud Guru courses. I won't offer much of a a review on these other than to say they are all essential and I don't believe I would have passed the exam without them.

##IAM
Read the IAM faqs. There is a lot of good material in here.
https://aws.amazon.com/iam/faqs/

There is a bit of repetition between the 3 videos below but enough differences to make them all worth watching. A Cloud Guru recommended the first one but I linked from there into the other two. re:Inforce looks like a great conference.

AWS re:Invent 2018: [REPEAT 1] Become an IAM Policy Master in 60 Minutes or Less (SEC316-R1)
https://www.youtube.com/watch?v=YQsK4MtsELU
AWS re:Inforce 2019: The Fundamentals of AWS Cloud Security (FND209-R)
https://www.youtube.com/watch?v=-ObImxw1PmI
AWS re:Invent 2019: [REPEAT 1] Getting started with AWS identity (SEC209-R1)
https://www.youtube.com/watch?v=Zvz-qYYhvMk&secd_iam5

##KMS
You must know this service for the exam. Questions will generally be on how you can use KMS with different services and not just on KMS itself. It makes sense when you think about it as it doesn't exist as a standalone service. Both of these are essential content for the exam.

https://aws.amazon.com/kms/faqs/

AWS re:Inforce 2019: How Encryption Works in AWS (FND310-R)
https://www.youtube.com/watch?v=plv7PQZICCM

##Cognito
Cognito featured strongly in my exam and you have to spend time on it. However, I found I wasn't getting enough detail on Cognito from the freeCodeCamp and A Cloud Guru courses. I came across this talk linked from an advanced Cognito talk at re:Invent 2020 and it really helped me.

Authentication for Your Applications: Getting Started with Amazon Cognito - AWS Online Tech Talks
https://www.youtube.com/watch?v=OAR4ZHP8DEg

This page was also linked from the same talk. It's a concise view on the different scenarios that could come up in the exam. It's a very good synopsis and if you understand these in detail, you'll be on your way with Cognito for the exam.
https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-scenarios.html

#Domain 3: Development with AWS Services
This is the largest domain in the exam, accounting for 19 to 20 questions. This is where the freeCodeCamp and/or A Cloud Guru material is focused. They are more geared towards helping you to understand this domain over all others.

##Lambda
Lambda is such an important part of the exam, it's worth reading everything you can get your hands on. The faqs are a good place to start.

https://aws.amazon.com/lambda/faqs/

And this whitepaper was released in January 2021. It says Overview Lambda Security but it gives detail on Lambda overall that I found really useful in the exam. If you only read one extra piece on Lambda for the exam, I would recommend this.
https://d1.awsstatic.com/whitepapers/Overview-AWS-Lambda-Security.pdf
Note: it already says it's archived to a webpage format here but either has the same content. 
https://docs.aws.amazon.com/whitepapers/latest/security-overview-aws-lambda/welcome.html

##DynamoDB
The only resource recommended for DynamoDB were the faqs but they are almost non-existent in comparison to other faqs.

https://aws.amazon.com/dynamodb/faqs/

However, it is covered in very good detail by freeCodeCamp and A Cloud Guru. The cheatsheet from freeCodeCamp is gold and was put together with Kirk Kirkconnell (https://twitter.com/NoSQLKnowHow) from the AWS DynamoDB team. If I could recommend anything, it would be from https://twitter.com/alexbdebrie. He literally wrote the book on DynamoDB. And his github page is a curated list of resources that will help you learn DynamoDB.

https://github.com/alexdebrie/awesome-dynamodb

Rick Houlihan's reinvent talks are legendary but not necessary for this exam.

##VPCs
This talk is recommended by A Cloud Guru to cover VPC fundamentals. I didn't find it particularly useful for understanding VPCs. Andrew Brown does a job of explaining it for the exam in his video.
AWS re:Invent 2018: Your Virtual Data Center: VPC Fundamentals and Connectivity Options (NET201)
https://www.youtube.com/watch?v=jZAvKgqlrjY

##Docker
A lot is made of Docker in the freeCodeCamp and A Cloud Guru material but I didn't find it made up much of my exam. A Cloud Guru recommends this paper from 2015. It says Docker but it's primarily concerned with ECS. I thought it was seriously outdated.

https://d1.awsstatic.com/whitepapers/docker-on-aws.pdf

They also link to this re:Invent talk by Abby Fuller. It's a good talk and focuses a lot on ECS. If I had to choose between this and the whitepaper, I would go with this one.

AWS re:Invent 2017: Getting Started with Docker on AWS (CMP209)
https://www.youtube.com/watch?v=mUzsYt3Bj08

##Others
I have ranked the remaining faqs in order of importance based on my exam. I have to say I was initially reluctant to dive into these as it seems a bit alien to be studying faqs for an exam. However, once you get going on them, they can be a good read. The variation in layout and content is very strange. The elasticache faqs are extremely detailed, too much so for this exam. I definitely recommend you read the top 3 in detail and skim down through the elasticache page.

https://aws.amazon.com/api-gateway/faqs/
https://aws.amazon.com/kinesis/data-streams/faqs/
https://aws.amazon.com/sqs/faqs/
https://aws.amazon.com/elasticache/faqs/

I struggled a bit with SQS and the different settings but I found that the diagrams in this article really helped me get them clear in my head.

https://medium.com/circuitpeople/aws-sqs-in-pictures-448c897534e1

#Domain 4: Refactoring
There is a lot of recommended material that falls under this domain. And while there were all excellent reads, I really find it difficult to tie them to any questions in my exam.

This paper is a high level overview of microservices in general, using Martin Fowler's characteristics of a microservice and how they map to the twelve-factor app pattern methodology. It's very theoretical and not much on the practical. And my exam was very practical.

https://d1.awsstatic.com/whitepapers/DevOps/running-containerized-microservices-on-aws.pdf

This paper is a more practical guide to implementing microservice patterns in AWS. And I think it's more useful for the exam.

https://d1.awsstatic.com/whitepapers/microservices-on-aws.pdf

The following whitepaper and re:Invent video work well together. And both are an easy enough read and watch.

https://d1.awsstatic.com/whitepapers/optimizing-enterprise-economics-serverless-architectures.pdf

AWS re:Invent 2017: Serverless Architectural Patterns and Best Practices (ARC401)
https://www.youtube.com/watch?v=Xi_WrinvTnM

#Domain 5: Monitoring and Troubleshooting 12%
I couldn't find any specific material on this area. The two main monitoring and troubleshooting services that I could align to this domain are Cloudwatch and X-Ray respectively. I didn't get any detailed questions on these other than the basics as to what they were, where they should use them and how you could integrate from one service with them at a high level. At the simplest level, if you get a question on monitoring, go with the Cloudwatch option. If you get a question on troubleshooting, go with the X-Ray option.
The only other service that would come under here is Cloudtrail. For my exam, I needed to know the difference between the 3 services and where you would use one over the other.

#Practise Exams
The AWS Certification Quiz series on Youtube is a good place to get a walk through sample questions with AWS Solution Architects. Strangely enough, they only have 4 episodes across both series that focus on the Developer Associate exam.

https://www.youtube.com/watch?v=8THqx2bD0ys
https://www.youtube.com/watch?v=iCfz85aLhF0
https://www.youtube.com/watch?v=rdpA1Ras5aY
https://www.youtube.com/watch?v=N1ueNOmaYK8

They're 30 minutes each and worth a watch on 1.5x speed.

#Exam Tips
1. Most questions don't focus solely on one service alone, rather on how services integrate with each other.
6. Lambda formed a huge part of my exam. You need to know it for the exam. How is it triggered from other services? How you deploy new and updated functions?
4. When it comes to re-architecting scenario, generally serverless is always better, managed service next and EC2 based options last.
5. Know Cloudformation.
6. Know the different authentication options for API Gateway.
7. If you get a question on monitoring, go with the Cloudwatch option. 
8. If you get a question on troubleshooting, go with the X-Ray option.
9. Always go with the IAM role option. Putting access keys or credentials in your application is always bad.

#Online Exam Experience
I found this stressful. My exam was due to start at 7am and I logged in earlier at 6.45am to make sure everything was ready. I had prepared everything the night before, cleaned out all the papers off my desk and out of my drawers. I had my passport ready to go. When I got through the identification process, the proctor opened a chat window with me. So far so good, we were going well. The proctor instructed me to pick up my camera and move it around to show my desk and open drawers and all that. I used the camera that the screen was showing my image on which was different to the one I had chosen at the start. The proctor kept telling me I was using the wrong camera before I switched back to the chosen camera. That worked for a moment before the secure software lost connection to it and I had to refresh and repeat the whole process from the start. Refresh meant shutting down the secure application and going through the identification process again. This happened twice. In the end it took 40 minutes before I could start exam. As far as I could tell, there was nothing wrong with my camera and from the proctors chat, it seemed like normal course of business. It's a bad experience and should be fixed.

Other things to note.

1) I only needed one piece of primary ID, I didn't need a second. The less things you can bring in with you the better. I had brought my atm card in as a secondary ID and had to remove it.
2) If you get booted out of your exam, don't panic, just log back in and you will pick up from where you left off. I think the clock stops also. 
3) Don't talk out loud to yourself or even mouth the questions silently to yourself. You'll be asked to stop it.

In the end, I passed but it did cause me stress and I don't doubt a few exam points. If a candidate was closer to the cut off mark, this would mean a lot to them. The only advice I can say is to not panic and just go with it. You will get into your exam and you won't loose anything if you loose connection during the exam.

#Summary
I hope you found this article useful. It is a complete list of all the resources I used to pass the exam. While everything listed here will be a valuable resource in your career developing on AWS, they may not all be as valuable to passing the exam. I hope I can save you some time on some of the materials. But use that time to focus on the other valuable ones. I am generally good at answering comments so comment on the article if you have any questions. Otherwise, best of luck with your exam.

As I said freeCodeCamp is a free resource but obviously, they need money to keep doing their great work. If you find Andrew Brown's course useful, you can donate to freeCodeCamp on this link to ensure others can continue to access this material.

https://www.freecodecamp.org/news/how-to-donate-to-free-code-camp/