The AWS Developer Associate exam
A few months ago I realised that I know next to nothing about AWS and the cloud. I don’t even know much about infrastructure in general. So I figured that if I set myself a specific, external goal, like taking an AWS certification exam, I’ll be forced to develop a basic understanding of some of these things. So I set out to prepare for the AWS Developer Associate exam.
This external pressure gave me a good opportunity to read up and learn about things I normally wouldn’t read about, and I feel like after preparing for the exam, I am more comfortable with forming an opinion about the pros and cons of using a particular technology for a given task. Here is how I prepared for it and some tips for you if you want to go that route.
# Preparing for the exam
Overall, I studied around 60 hours in around 2-3 months. This number includes reading whitepapers, watching videos, taking notes and completing practice exams, so not just hard-core rote memorisation.
I would recommend studying from the following resources:
- A video training (including PDF slides that are great as a standalone resource): Stephane Maarek’s course on Udemy
- Practice exams:
- AWS whitepapers
- AWS FAQs
- My notes (carefully and selectively copy-pasted from official AWS resources 😀 I tried to include everything I encountered on practice exams and yet avoid non-essentials)
- A fantastic talk about DynamoDB on YouTube here.
- Taking the official practice exam and taking notes of the questions.
# Tips for the exam
- The exam consists of
- multiple choice questions, where you have to choose exactly one good answer out of 4 or 5, and
- multiple response questions, where you have to choose 2 or 3 out of 5 or 6 possible answers. These basically eliminate the possibility to guess, as the odds of guessing 3 correct answers out of 6 is 1/120.
Learn the default values for the most important services: know the limits and defaults of Lambda (concurrent execution limit, temporary storage size, timeouts, etc), SQS (visibility timeout, long polling duration), DynamoDB (read and write capacity units), S3 (operations per second, max. object size, number of buckets), API Gateway (timeout), CloudWatch metric resolutions, X-ray sampling rates, etc. The more numbers you know, the better.
There might be a few slightly annoying questions which are just too high-level to be answered confidently. For those ones, you just have to try and guess what they want you to choose. If possible, choose the answer most aligned with the philosophy of the official practice exam (like using SQS for decoupling parts of a complex legacy application, for instance).
- Pay extreme attention to the exact wording of the questions. There are often multiple good solutions provided, and you have to select the best answer. Hints in the question can help: there might be a reference to prefer the cheaper solution, or one word which might suggest that security (perhaps encryption) is key. These little hints can decide the right answer.
# Final thoughts
Overall I think this exam is a great choice if you want to force yourself to brush up on AWS services and on infrastructure knowledge in general. I would highly recommend it to any developer!