The main software developer focus is writing code, however, writing the code is far from enough to have an up-and-running application. How to make an application available to end-users and how to keep pushing new features? For me, AWS answers that question and I needed to learn it, why not add a certification under the belt in the process?
The problem is that it took me 6 months to get the AWS-CDA certification. That's a lot of time! So I am writing this article to share the mistakes I've made and tips to avoid them.
Relevant information about me (these are not excuses 😉): I am a 32 years old married man and a father. I have a full-time job as a Senior .Net Consultant and I never worked on AWS before.
Do developers need a cloud certification?
As a developer, I get a lot of website/app ideas and writing the code was never an issue for me. My problem was how I would expose it to potential customers while keeping the costs down. Besides, having a cloud certification opens more career paths and opportunities, simply a better salary.
AWS is the oldest cloud platform out there and is the most used on the market (AWS market share is about 32% of the total cloud service market). Besides, I gave Microsoft Azure a go (to host an ASP.NET website) a long time ago and I wanted to try something else. And to put things into perspective, Netflix uses mainly AWS services for computing and storage needs.
How I did it
Where did I start?
This is a tough question. Training-wise, I made mistake #1: I used ACloudGuru and picked an introductory AWS course to have a general idea about AWS services.
Tip #1: Do your research first! Look for what other people like you said about the matter and how they did it! For instance, if you are a student, you should get inspired by other students who went through the process.
Once you have done your research, you can now start with an introductory course to familiarize yourself with the AWS services. You should also pick the certification you want to target:
The AWS service naming
At first, AWS can confuse you with the names they chose for their services. Let's start with the naming rules:
If the service name contains a number, to find the original acronym, you should repeat the last letter by what the number indicates:
S3 => S S S
EC2 => E C C
If you find the letter
"E", there is a good chance it indicates
"S"on the other hand, can have two meanings, either
"S"at the end means
Let's revisit our examples:
S3 => S S S => Simple Storage Service
EC2 => E C C => Elastic Cloud Compute
SNS => Simple Notification Service
SQS => Simple Queue Service
SAR => Serverless Application Repository
And some services do not have these rules apply at all, such as:
Secrets Manager, Lambda, CloudFront...
AWS Serverless Services
AWS wants you to use their Serverless services whenever possible, not only for IRL projects but also want you to know it for the exam. Serverless doesn't mean that the service doesn't run on a server. It just means that the service runs on the server AWS manages behind the scenes for you. Here are some of the serverless services in AWS. Serverless costs less, it's something you should consider when developing a new app.
AWS certification courses
First of all, I checked the exam guide. Once I understood the scope of the exam, I picked the "AWS Certified Developer Associate" course in ACloudGuru. That was mistake #2: At that time, the course did not cover all topics needed to pass the exam. I was scoring 50% after going through the course.
Tip #2: You should pick a complete course or use a combination of course and official AWS Documentation.
ACloudGuru course is a lot better now with the latest updates but what I would recommend is:
Adrian Cantril course: https://learn.cantrill.io/
Stephane Maarek course: https://www.udemy.com/course/aws-certified-developer-associate-dva-c01/
After 3 months of frustration, I finally picked up the Stephane Maarek course on Udemy. The great thing about this course is that if you don't have time to practice what you learn, Stephane has hands-on videos embedded everywhere in the course, you can take this course on your daily commute on public transport.
Prior AWS practice
In the AWS exam guide, they talk about 1 year of experience with their cloud services and I didn't have that. It's OK, prior AWS practice is nice to have but not necessary. There are different ways to practice for the exam:
Quizzes: A Cloud Guru and Udemy have quizzes at the end of every module, both are great.
Labs: I only tried the labs in A Cloud Guru, I didn't like them because even though you do things yourself, the labs are very basic and all scripts or data is given to you. I didn't try labs in Udemy.
Practice exams: This is where A Cloud Guru shines, their practice exams mimic the real exams better than Udemy, in my opinion. There are also 10 sample exam questions provided by AWS.
You should target more than 80% of good answers in the practice exams.
Scheduling the certification exam
Mistake #3: I scheduled the exam when I felt ready and scored more than 80% in practice exams consistently.
Tip #3: If you took Tip #1 seriously you should have an idea of how much time you need to be ready for the exam. You can go ahead and schedule the exam.
Fixing the exam date will make you follow a regular training schedule. If you take too long, you will start to forget the first modules you went through and the whole process becomes frustrating.
Where to take the AWS exam?
You have two choices here:
Go to an exam center
Take a proctored exam at home
Both options are fine. I took the proctored exam at home and I didn't have any major issues, however, security was very tight. And remember, if you get caught cheating, you get banned.
It was a sloppy process for me but, in the end, I scored more than 800 points on the exam and I am finally AWS Certified. Real AWS practice is a different beast though... That's a story for another day.
Let me know if you found this article helpful. Please avoid my mistakes!