How I passed the AWS Certified Developer Associate exam

The AWS Certified Developer - Associate is a hard and very practical exam. I have recently taken and passed it and this post will be about my preparation and exam strategies.

The AWS Certified Developer - Associate exam is one of the three currently available associate level exams.

I have already written a post on how I passed the AWS Certified Solutions Architect - Associate exam. In this post I’ll describe how I felt about the developer exam and how I prepared for it.

1. About the exam

The AWS Certified Developer - Associate is a very practical exam contrary to the Solutions Architect - Associate, which I found more of a theoretical type. The majority of questions contain scenarios, root cause analysis and other service-specific practical problems although I came across some very short, if-you-know-it-good-if-not-too-bad type of questions.

I found the exam to be hard because, unlike the Solutions Architect Associate exam, it’s not something that I can learn from a textbook or the FAQ’s of the services. The questions can go into subtle details for the main services (see them below) and if you don’t have any hands-on experience with these services, I can’t really see how this exam can be passed. Unless you have an excellent memory (I don’t) and learn all tutorials by heart (I didn’t), you probably won’t be able to pass this exam just by studying or watching some course videos.

This is the reason why I’d say that the Developer Associate exam is probably harder than the Solutions Architect Associate if I had the make this comparison. The good news is that it’s possible to get high scores. I did and I’ll describe the steps I took when preparing for the exam.

The emphasis on the exam is on serverless services: Lambda, API Gateway, DynamoDB and S3. If you don’t have any experience with these services, don’t waste your money on the exam, you’ll have near zero chance to pass it.

2. Preparation

As I mentioned above, the Developer Associate exam is very practical. You will need an AWS account, where you’ll get free tier in the first 12 months on many services and some services offer free tier without time constraints. I did a lot of hands-on practice, which I found invaluable when preparing for the exam. Some questions go into detail about how a specific feature can be activated or changed.

I usually followed the tutorials on the AWS site for each service, especially the ones I don’t use every day (like CodeBuild or CodeDeploy). Sometimes I did it again for the second and third time and I tried different things and features.

Whitepapers are on the official list of exam resources. I have read all recommended whitepapers. Most of them were quite interesting (I found the ones on Lambda really useful), but let’s admit some of them are just verbose and not very engaging. Whitepapers helped me understand more how services work and as such, I found them useful when preparing for the exam. On the other side though, I can’t recall any questions from the exam where the answer could only be found in a whitepapers.

My main source of knowledge was the official AWS documentation on the services. I read them a lot when I did the hands-on exercises or when I felt that I didn’t understand how a feature works. I spent a lot of time reading documentation pages.

I also completed the AWS Certified Developer Associate course offered by Linux Academy. I found that the course was well organized and it gave me a structure during the preparation.

Linux Academy is good because they provide access to the AWS Console through labs. It’s very important to complete these labs and I did even more on my own (see above). Although the course material is great, I don’t think that I could have achieved the result I did if I only relied on the course itself. Nevertheless, if you can afford it, I definitely recommend skimming through the lessons.

A mostly underrated course which I found extremely useful was the official exam readiness course. There’s no excuse for not doing it; it’s free. The course is only an hour and a half long, and many people say that it won’t prepare you for the exam because it’s just not enough.

I agree that it’s not enough, but I have to disagree that it won’t help prepare for the exam. I found this course gold. They basically list all services they ask in the exam, they told me use cases that came up in the exam. I took thorough notes of the course and just learned them. I got a lot from it and will use these free courses in my preparation for coming exams in the future.

Last but not least, I took some practice exams. I used Jon Bonso’s practice exam course and I found it extremely useful. All questions come with answers, detailed explanations and cheat sheets. The course costs around 10-15 dollars and it’s well worth the money. Each set of questions simulate the real exam. It would be a mistake though to solely rely on this course and memorize the questions because, of course, the real exam questions are different, or at least, they will be asked from a different angle. What makes this course great is that the topics and services are well covered and it let me find my weak areas (e.g. AWS Kinesis Data Streams resharding, which I had never done before and actually came up in the exam). The explanations are great and I took detailed notes of them.

3. Recommendations

The following strategies worked well for me and I can recommend using them in the exam preparation. By following the procedures below I found that I couldn’t really study more in the last 3-4 days and I couldn’t wait to take the exam. Although I could have rescheduled the exam, I didn’t do it. Instead, I did some more hands-on exercises to make the concepts sink even more.

3.1. Use the CLI

First and foremost, and this is the most important piece of advice: forget the Console and use the CLI and CloudFormation for everything you do.

I know.

You have little time, it’s tedious and a 5-minute task takes 30 minutes to complete. It’s true, especially in the beginning. But my experience is that I got much better at it over time and I could learn the important APIs and their required options. The Console provides a GUI with tick boxes and dropdowns and hides these subtle details.

Now I use the CLI like 95% of the time in my day job and although it has a learning curve, this is probably the most helpful thing I could do for my success. Start using the CLI today and you’ll be good in a few weeks.

3.2. Take notes

I took detailed notes when reading the documentation or listening to course videos.

Taking handwritten notes helps me memorize, so I bought a 240-page A4-size notebook (it shouldn’t cost more than 2-3 bucks) and wrote down what I thought was important and created diagrams to help me understand the relationships.

I took notes and studied them every day before I went to sleep. It’s also healthier than watching the monitor before going to bed.

3.3. Use idle time

I used commuting and lunch time for studying and reading whitepapers.

From my experience and what I see every day is that 98% of people on the train use their phones. The majority of them play games, read news or are on social media.

I used my phone while commuting too but I read documentations and whitepapers instead. Sometimes I just got my notebook and studied my notes. It was very funny to see the faces of some fellow (especially younger) commuters sitting next to me.

The same applies on lunch times where I could find 30-35 minutes of idle time when I could read whitepapers and documentations.

3.4. Use practice exams and work on the weaknesses

Practice exams and the exam readiness course (see above) are very useful because I could see which areas I needed to work more on.

I did a practice exam and then spent some time reading the documentation and doing some practice on the services I was less familiar about. Then I did the next practice exam, took notes and did more practice and so on.

This methodology worked well for me.

It’s also worth getting the official AWS practice exam. Although it only contains 20 questions, it helped me see what I could expect. I can even recall a question that came up in the real exam. I’m not sure whether they take the practice exam questions from the exam question pool, but the exam was very-very similar both in terms of difficulty level and question length.

Because I had already taken a successful exam before (the Solutions Architect Associate) and I got the official practice exam for free, so taking it was a no-brainer for me. If you haven’t passed any AWS exam yet, it will cost you $20. I think it’s worth the investment for the first time and then I’ll get it for free afterwards, so I can actually get more than 20 questions for my money across all certifications.

4. Exam day

Candidates are entitled to have pen and paper in the room. The administrator at the place where I took the exam wasn’t aware of this, so I had to ask for them. Don’t be afraid to ask for pen and paper.

I wasn’t allowed to take anything to the room except the IDs, pen and paper provided by the administrator.

The exam is remotely supervised through cameras. Supervisors tend to give you dramatically short and straight-to-the-point instructions. Don’t expect them to be polite; they may not be allowed to use the word please more than twice a week.

4.1. When sitting the exam

The exam contains 65 questions (plus the compulsory survey at the end but they, of course, don’t count towards the score) and candidates have 130 minutes to answer all of them, which means that I have 2 minutes per question.

All questions offer multiple possible answers. The majority of them require one answer selected out of 4, some of them need two or more selected out of 5 or more.

Spending two minutes on each question is a bad strategy though. There were questions I immediately knew the answer to and it only took a few seconds. I use the flag feature for those questions I wasn’t sure or wanted to think more about.

I planned maximum of 115-120 minutes for the whole exam.

I managed to get over the 65 questions in about 65-70 minutes, so I had about an hour left to review the flagged ones. As I went over the flagged questions and had more time to think about them, I could slowly eliminate most of them. I wrote down the question number I wasn’t sure about for the second time either.

Then I went over the remaining questions (there were like five of them) again. I drew diagrams to help me figure out the answer and reduced the number of questions again and I repeated the process until I had no questions left.

I found it useful to have 10-15 minutes at the end of the exam to quickly go over all questions again. It turned out that I accidentally selected the wrong answer to a question although I didn’t want to mark that one. These things can happen and quickly reviewing the questions at the end help eliminating these situations. This is not the time to think about the answers though. Spend the last few minutes on finding any possible and obvious errors.

I took my time; when I hit the Finish Exam button, only 21 seconds left.

4.2. What to expect in the exam

As I said above, the exam heavily features serverless services: Lambda, API Gateway, DynamoDB and S3. They question these services very thoroughly and I mean it.

Security is the second most weighted domain, this mainly means encryption, KMS and IAM features. Expect to know the APIs and read IAM policies.

Deployment-related services, CodeBuild, CodeDeploy, CodePipeline and CodeCommit will also come up in the exam. All of them. Know the deployment options for Elastic Beanstalk and do some practice with them. Know how to add/change services in Elastic Beanstalk (how to scale up instance, add database etc.). Know CloudFormation, its main features and properties.

X-Ray and CloudWatch will give the main elements of the monitoring domain.

Other important services like ECS, RDS, EC2 or ELB will also come up in the exam but they are probably not as emphasized as the serverless services.

4.3. What not to expect

The exam is not about VPCs, CIDR-blocks, subnets, route tables or gateways. High availability, fault tolerance and cost optimization are also unlikely to be emphasized. Similarly security group and NACL settings and configurations probably won’t be featured in the exam.

This doesn’t mean though that they won’t come up in questions. You still need to know what these serviced offer, but you probably won’t get questions about creating a highly available infrastructure (that’s the Solutions Architect exam).

5. Summary

I liked the AWS Certified Developer Associate exam and I’m proud to pass it. It’s not an easy exam and it requires a lot of practical experience.

I have shared some strategies I used when preparing for the exam and they should be sufficient to successfully pass the exam. My score was 982/1000 (and I know where I made the mistake), so I’m confident that these strategies work.

Thanks for reading and see you next time.