Since I started working with Amazon Web Services (which is 1 year and 2 months ago), I knew I'd want to take an exam. I find that the process for exam preparation works very well for me, and allows me to have a structured learning programme. Besides, because of the multitude of AWS offerings, I wanted to limit the scope in some way, and even though the exams that I took still cover quite a wide range of services and products, I knew what I needed to focus on from the exam guide.
Since I've been working as a developer for 5 years, I thought it'd be logical to take the AWS Certified Developer Associate Exam. I must admit that I had started preparing for the exam way too early - just a few months after I had my first hands-on AWS experience, and after having had a look at a few courses and exam questions, I realised I was missing foundational knowledge about the Cloud. That's why I decided to start with AWS Certified Cloud Practitioner Exam. It was very helpful for me because during the preparation process I gained indispensable knowledge of AWS Cloud concepts, security and the core services which we use at work.
After that I started preparing for the AWS Certified Developer Associate Exam, which is quite technical, and requires some knowledge of AWS CLI and API methods. Below is the advice I'd give to anyone who would like to take this exam:
The most important thing is hands-on experience using the AWS CLI, the console or with SDK (all of these can come up in the exam). In my experience, I think sometimes when you're not familiar with a technology, you tend not to pick up the tasks related to it, and worry that if you do, your colleagues will have to spend too much time explaining things to you. I had to change my way of thinking and pick up AWS related work even though at the beginning I had little idea of what that work would involve. Luckily, my teammates were very supportive, and little by little I was able to do tasks on AWS with more independence. Some of the useful tasks that I did that could come up in the exam were using Parallel Scans in DynamoDb and defining IAM permissions.
Use AWS learning resources to the full. It's quite amazing how many excellent resources of different types there are to help you prepare for the exams. My favourite ones are:
- self-paced labs because they have different formats such as Hands-On Labs or Quest, and different levels. Some resources are not free here but you can pay for them with AWS credits. One way to get them is to attend AWS events.
- AWS Learning library. This is a part of the AWS Training and Certification portal, so you need to register there.
Attend AWS events. There are specific Training and Certification events, Dev Days and Online Tech Talks, as well as AWS User Groups around the world, and they are free! Another good thing is that if you register for an event, you can later get access to the presentation slides and/or recordings. AWS Reinvent (and some other events) include Jams and Jam Lounges - they are sets of realistic AWS challenges of varying levels. You can do them on your own or in a team in an auto-provisioned AWS environment. You can also compete with other teams if you like. An example of task that came up in a Jam was to install a Cloudwatch Agent on a server. Finally, my favourite AWS event has been AWS GameDay - an event where you have to solve a real world problem using AWS solutions in an account provisioned for you. AWS Summit Online will include some hands-on labs so be sure to register soon.
Blogging turned out to be of great help during the exam preparation to reinforce the knowledge in written form. Even though the posts weren't very long, I found that when I was writing up about an AWS service or an aspect of it, I wanted to investigate things a bit more to ensure that what I wrote was correct.
There are a lot of learning platforms that provide AWS exam preparation courses and practice tests. While some of them are excellent, others might not be that great. I think everyone who is preparing to sit an AWS exam should make use of AWS-provided sample exam questions - the explanation of why each option is correct or incorrect is really handy and can itself serve as a source of learning. There is also a practice test that you can purchase in the training portal. It costs $20, and although you can take it as many times as you like, you have to pay every time. Because it's not free, I think it's best saved till the end of your preparation period.
It's very important to be committed to learning. We all have busy lives, families and other matters to attend to, so passive learning such as listening to AWS podcasts or recordings of events described earlier can still help you to get ready to achieve AWS certification. I found this to be of great assistance when I wanted to get general understanding about a specific service I hadn't come across yet because albeit technical, the topics of some podcasts and events are high level and allow you to focus on a bigger picture while you're on the go. Attention Spanish speakers - an AWSome podcast is Charlas Técnicas.
I passed both AWS Certified Cloud Practitioner and Developer Associate exam. The skillsI obtained during the exam preparation is invaluable to me in my job (and it's nice to have the validation of your knowledge), and I feel that I have made a big step from where I was last year (a total AWS beginner with no knowledge of the Cloud whatsoever) to where I'm now - being able to develop, deploy, and debug AWS-based applications, and understand and use the most important Amazon Web Services and best practices. I'd encourage Software Developers who work with AWS or are only starting to do so, to challenge themselves, take the AWS Certified Developer Associate exam and I'm sure you'll deepen your knowledge of AWS Cloud.