A month or so ago I finally went through with writing the AWS Certified Developer Associate Exam and am excited to say I passed! I had originally planned on completing this by the end of 2020, but due to work and family commitments I had to push it back a few times – didn’t want to go ahead and write it without proper preparation. This is an associate-level exam and is really designed to validate your base level of knowledge developing on AWS and provide a foundation of knowledge to dive deeper into the professional-level exams. There are no prerequisites, however depending on your background and experience deploying and developing applications within AWS you may find this exam extremely hard or extremely easy. I wouldn’t say that I’m an expert at developing on AWS, but have had experience with technologies such as CI/CD, Lambda, S3, EC2, etc – which in turn really ended up being beneficial to me while writing the exam! Also, If you have already studied for and wrote the Solutions Architect Associate exam this will come in handy too!
About the Exam
Before jumping into study tips let’s first take a step back and talk a little about the AWS Certifed Developer Associate exam itself. As with most AWS exams, there are a couple different question format and the AWS Certified Developer Associate exam adheres to this: Multiple-choice which have only one correct answer and multiple choice which have multiple correct answers. You have 130 minutes to complete the 65 questions put in front of you, which is ample time in my opinion – By the time I completed the exam I had roughly 40 minutes remaining – ample time to go back and review any questions I had flagged. The passing score is 720 out of a possible 1000 and the exam itself scales from a minimum of 100 – Honestly, I have no idea how tech certifications are scored in this way – either way, aim to get around 70% of the questions answered correctly and you should be good to go! As far as the breakdown goes you will be tested on the following topics and weights:
- Deployment (22%)
- Security (26%)
- Development with AWS Services (30%)
- Refactoring (10%)
- Monitoring and Troubleshooting (12%)
The AWS Certifed Developer Associate certification page also provides a list of recommended knowledge and experience. Every time I tackle a tech certification it always feels like you need to know everything about everything when I first get started – but that’s not exactly the case – Here are a few of my notes on each bullet point they list out. Remember though, every exam is different so my experience might not necessarily map to yours so use it at your own risk 🙂
- In-depth knowledge of at least one high-level programming language
- For this one, I would say define in-depth 🙂 Knowing basic structures and common syntax for a programming language will go a long way in the exam as you will most likely see some code – but do you need to know how to write recursive functions in Python – probably not!
- Understanding of core AWS services, uses, and basic AWS architecture best practices
- This one is important – without knowledge of some of the core services such as IAM and S3 you might have some trouble understanding some of the questions. If you have already written the Solutions Architect exam, or if you have some hands-on experience with core AWS services then you are probably ok in this realm, if not, well, best start studying!
- Proficiency in developing, deploying, and debugging cloud-based applications using AWS
- This is a tough one as it covers a lot and it really depends on the service. For instance, you will need to know a lot about Lambda, however, you most likely get away with just having an overview of beanstalk.
- Ability to use the AWS service APIs, AWS CLI, and SDKs to write applications
- I didn’t get a whole lot of questions in regards to SDKs and APIs – I faintly remember some cli based questions though – so that’s where I would focus
- Ability to identify key features of AWS services
- Being an associate-level exam I would focus on this! 100%
- Understanding of the AWS shared responsibility model
- Can’t say I remember anything directly relating to this – good to know nonetheless
- Understanding of application lifecycle management
- Yup, know this!
- Ability to use a CI/CD pipeline to deploy applications on AWS
- Again, CI/CD is heavily integrated into the exam – know your concepts here
- Ability to use or interact with AWS services
- I mean, yeah, if you don’t know how to do this I would wonder why you are trying to certify on AWS in the first place
- Ability to apply a basic understanding of cloud-native applications to write code
- Again, a basic level understanding of how things work goes a long way
- Ability to write code using AWS security best practices (e.g., not using secret and access keys in the code, instead using IAM roles)
- You will get questions around stuff like this – and it’s pretty easy really, the most secure is usually the answer – however, you will need to know the basics of AWS security in order to pick the right answer as they sometimes throw things in that are completely made up!
- Ability to author, maintain, and debug code modules on AWS
- Not too sure on what this means, maybe lambda packages – either way, know that!
- Proficiency writing code for serverless applications
- This is a big one!
- Understanding of the use of containers in the development process
- Didn’t see a whole lot of K8s/Container related questions – but there is some and you should know all your options! Recently passing the Certified Kubernetes Administrator helped me out a lot here!
With that, let’s dive into some techniques I used while studying and some tips on writing the actual cert.
AWS Certified Developer Associate Study Material
As with any certification, there is no replacement for hands-on experience. For the last three years I’ve been playing around with AWS services such as Lambda, CloudFormation, S3, etc – without this hands-on experience, there is no way I would have passed this certification. Most, if not all of these services are available within the AWS free tier so if you don’t have an environment you can practice in make sure you leverage the zero-cost free tier to do so… While the exam focuses on AWS services, having a basic understanding of DevOps methodologies and the tools and processes used to support them goes a long way as well – for instance, I’ve never utilized AWS CodeCommit or CodeBuild, but having utilized other tools not native to AWS to perform similar functions helped out a lot. Knowing about things like version control, CI/CD pipelines, and the steps and technologies supporting these helps as you can easily map this knowledge to AWS terminology.
Aside from hands-on go and get yourself one of the many awesome courses out there to support the exam. I went with A Cloud Guru’s Ultimate AWS Certified Developer Associate course here – It’s structured around the exam blueprint and covers off everything and in some cases more, that you need to know to pass this exam. There is roughly 30 hours of video included in this course – so make sure you block off an ample amount of time to complete it. The course also comes with a number of practise exams as well as small quizzes throughout each section to test your knowledge – I can’t say how much A Cloud Guru has helped me through both my AWS certification exams.
Even if you think you know Lambda it’s best to go and review all the documentation again – I thought I had a pretty good grasp on Lambda but after going through some of the official documentation and A Cloud Guru course I realized there are many other portions of the serverless service I hadn’t had experience with. My exam had plenty of serverless and Lambda scenarios, so ensure you know things like execution contexts, environment variables, aliases, versions, optimizing deployment packages, memory management, timeouts, logs, function formats, triggers – basically know everything there is to know about Lambda!
CloudFormation was another service that seemed to come up a lot. I use CF a lot for work, but you get into the rhythm of only using those options that are required for you to get the job done. I would recommend simply playing around with some templates, and exploring all of the different parameters and options available within the UI – Conditions, Transforms, Outputs, intrinsic functions – these are all fair game for the exam so understand them!
Know API Gateway
While CloudFormation and Lambda were right in my wheelhouse API Gateway was not. I’d never even clicked on the service 🙂 The A Cloud Guru course goes pretty deep into API Gateway with lots of hands on examples and labs you can follow along with – do this, it’s important if you want to pass this certification.
Databases are not exempt
Unfortunately, we can’t just shrug off the database aspect of things to the DBAs on this one – Make sure you understand RDS and DynamoDB. Knowing the differences between the various index types, the write consistencies and how to cache data in front of databases is essential. I learned most of this information while studying for my AWS Certified Solutions Architect exam – which is why I mentioned earlier that if you’ve gone through the process of obtaining an SA cert then you are halfway there already!
Understanding services (even if just at a high level)
This is an associate-level exam, which means you may not need to go very deep into ALL of the different services but knowing the names of them, what they are, how they work, and some of the common configuration options within them will go a long way. Here’s a personal example – I’ve never utilized Elastic Beanstalk or XRAY before. That said, reviewing these services and knowing what they are, what they do and how they work goes a long way – for instance, you may get a question about what service to utilize in order to debug your serverless application – even though you may not know the inner workings of X-Ray, knowing that it is used for just that function can help you eliminate or nail down answers.
From my experience you should have a solid general knowledge of the following AWS services; Elastic Beanstalk, X-Ray, SQS, SNS, CodeCommit, CodeBuild, CodeDeploy, CodePipeline, Kinesis, IoT, MQ, Step Functions, CloudWatch, CloudTrail, etc – like I said, you don’t need to be an SME on each of these but get a solid core foundation on what they do and some of the most common configurations available within them.
By no means is this an ultimate guide to passing this certification – as I mentioned earlier, there is no replacement for hands-on experience. Do whatever it takes to get into AWS and start playing with all of the services mentioned within the A Cloud Guru course and the official exam guide. Also, if you have already written and passed the AWS Solutions Architect exam you have a solid base for this one – even though this is a developer-focused exam, you still need to know base concepts like IAM, EC2, S3, etc. So, hands-on is my number one piece of advice, number two is knowing at a high level what all the AWS services do and how they function.
Do you need to be a full out developer to pass this exam? No!
Can you pass this exam without any development experience? Probably not!
Do you need to be super deep in any specific programing language? No!
Do you need to know the basics about development and be somewhat proficient in some sort of language? Yes!
Did I have a little luck on my side for some questions? Most likely!
Do you need to have an open mind and dedicate some time in order to reach that 720 score? Absolutely!
As always, reach out if you have any questions regarding anything – thanks for reading and good luck on your AWS Certified Developer Associate exam!