tanksta.github.io

View on GitHub
8 November 2019

How did I pass AWS Certified Developer - Associate Exam

by tanksta

An AWS Certified Developer Associate Preparation Guide

As the company I am working for is shifting its strategy towards cloud development, I was able to be in the first group of developers to get certified by AWS. As I did not have much experience with the AWS services (less than a year), I registered for the AWS Certified Developer - Associate, before targeting the professional certificates. This summary aims to describe the path, how I passed the AWS Certified Developer exam on first attempt. Rather is it my opinion about services that are important for day in day out use, but services you have to know to pass the exam. It is important to understand that these kind of tests, will not ask you to solve common problems with AWS services, but ask you to solve problems on special setups, app requirements or architectures. First I describe and evaluate the ressouces I used to prepare for the test. Further I list all important services asked in the exam version 2019. The last part is reflection, what I would change with the knowledge after passing the exam.

Ressoures

This chapter lists all resources I used to practice and study for the exam and an evaluation how useful they are.

AWS on-site training “Developing on AWS”

The first step I did, was to register for an on-site training with an AWS certified coach to teach you the basic concepts and main services AWS offers. It is a 3 day training. Unfortunately the AWS trainings for companies are quite popular and therefore I had to wait until September (I signed up in May) to participate in a training. The training is good to give you a brief overview on all the important services (listed below) and get in touch with the AWS console, the different CLI tools and some SDKs in hands-on labs. It is important to understand, that this overview will not be enough to pass the exam ad-hoc, unless you have already a lot of experience. The questions in the exam expect in depth knowledge about the services, how to combine them to an architecture to meet application’s requirements and detailed facts about limits and configuration options. The coach mentioned some in his opinion “important” facts, which may be true for real world scenarios, but in regard to pass the exam, they might not be useful as the questions change from year to year.

==> gives overview but do not expect to pass the exam with only this training as preparation.

Udemy Course “AWS Certified Developer - Associate (2018)”

After the on-site training I felt, that I have a good overview what AWS offers. So I scheduled the exam for first week in November. But honestly when I did a few free sample questions online, I realized that I am lacking in knowledge of detailed information. So I decided to go for another course, this time online. Udemy offers discount from time to time so, I purchased the video course “AWS Certified Developer - Associate (2018)” for 12€. The course itself was actually a Linux Academy course, with several videos, questions and hands-on labs on each lecture. As I have purchased the course on Udemy, the hands-on labs on Linux Academy where charged extra with Linux Academy coins. You will get some coins for free on sign on, but this is just enough to pay the first lab. So I did not take any lab on linux academy, as I didn’t want to spend extra money for coins. The course explains the AWS services in a much more detailed way the coach of the on-site training could ever do. It containes 89 sessions (videos) in 21 lectures, all in all 13.5 hours of video content. Furthermore, after each lecture your knowledge is checked with a set of questions (5-10 questions). At the end of the course I took the practice exam, also included in the course.

Downside of the udemy course is, that it is from 2018. The focus between the 2018 and 2019 exams has changed a lot from knowing service limits and cli commands, towards in depth knowlegde of deployment processes with CloudFormation and Beanstalk and debugging and solving occurring problems of applications and services. Therefore, the course and the questions are out of date. Not in explaining the services itself, but in focusing on different details of the services. Furthermore, some of the questions did provide wrong solutions.

Example: "How many local and global secondary indexes are allowed per table"

Udemy Course Solution: "5 local and 5 global"

Correct solution: "5 local and 20 global in all regions expect AWS Regions: AWS GovCloud (US-East), AWS GovCloud (US-West), EU (Stockholm) the limit is 5 global and 5 local secondary indexes"

As I was busy in work I did not mange to watch the videos regularly, so one week before the exam, I was right in the middle of the course. My company allowed to me to take 5 days off before the exam to prepare for it. So I the other half of the course I did in 1.5 days.

==> more detailed course than the on-site training, but be careful with the questions

Whizlabs Question Set “AWS Certified Developer Associate” (2019)

With the on-site training and the udemy course, I felt ready to get my hands dirty and practice exam questions. Therefore I bought the question set from Whizlabs. It contains 845 questions organized in practice exams, but actually only half of them are questions from 2019. The other half are practice exams from the previous year. These questions have been my main ressource to study intensivly for the exam. So after I had finished the udemy course I fully focused the rest of my preparation time (3.5 days) on questions. I did all 5 current practice exams 3 times and all 6 previous practice exams from 2018 one time. The questions provide detailed explanations and reference to the AWS Docs to gather more information about the topic. This was very helpful to identify lacks in knowledge. It is important to understand why an answer is correct, as the real exam will not contain the same questions, but asks for similar concepts. The Whizlabs question do not have much in common with the real exam questions, but they both ask for knowledge about the same services. So I would recommend to read the AWS Docs for each of the services mentioned in the practice exam questions.

==> Good to identify important services, but only in combination with AWS Docs. The real exam questions are not the same as the ones Whizlabs provides.

As I only had 5 days to prepare intensively for the exam I briefly read one of the whitepapers. Most of the concepts mentioned in the papers, should be known anyway by answering the practice exams. However they provide interesting additional information. For the exam I skipped to read the whitepaper, but I recommend to read them if time allows.

Important services (2019 version)

For the 2019 I identified these services as relevant. Make sure to read the AWS Docs for in depth understanding.

1. Lambda and Serverless (SAM)
2. SNS
3. DynamoDB
4. CodeCommit, CodeBuild, CodeDeploy Code Pipeline
5. CloudFormation
6. Elastic Beanstalk
7. API Gateway
8. ElasticCache
9. SQS
10. S3
11. Elastic Load Balancer
12. Step Functions
13. AWS Cognito
14. Kinesis (mostly together with Lambda)
15. IAM
16. Route53
17. CloudWatch
18. AWS System Manager (Parameter Store)
19. Elastic Container Service
20. RDS
21. KMS
22. EC2
23. CloudTrail
24. X-Ray

What would I changed to prepare

If you are only interested in passing the exam, you can manage to do so without hands-on experience at all. However, I think it is a lot easier, if you can combine your personal hands-on experience on AWS, with the specific knowledge you gain through practicing questions. In my case I did not have much experience with AWS before, but I can imagine that it gets a lot easier, if you have touched common services before. It is also obvious, that you won’t get in touch with all the services in your day-to-day work, but take the time to discover and play around with services you don’t know if you have time.

I would only take one of the two courses, online or on-site training, and try to find one that was recently updated to match your exam version. Further it is crucial to identify the relevant services. For example, do not waste your time to study VPCs into detail (this is solution architect stuff), but make sure to know your stuff (see list above). If I had to take the exam again, I would start to identify important services with the practice exams. Then I would read the docs for each of the services and validate the gained knowledge doing practice exams again.

==> Lessons Learned - Sayonara

tags: aws - cloud - development - Amazon Web Services - AWS Certified Developer