Passing the AWS Certified Developer Exam

Two weeks ago I passed the AWS Certified Developer Exam. As it was a huge help for me to read about other people's experience, I also want to share my story. So this a short retro on the what, how and why.

The AWS Developer Certification

Amazon Web Services are one of those clouds everybody keeps talking about. It's a multitude of different services for all kinds of use cases. I've only been using a small fraction that fitted our projects at work.

AWS offers different tracks of certifications:

  • Solutions Architect — Focusing on the infrastructure to run your application on AWS
  • SysOps — Concentrating on the automation and the operations part
  • Developer — Using AWS from a software developer perspective

The chance to do the certification came from work. My employer, Scandio, is AWS partner and in this role we're required to have certified staff. As one of the more experienced AWS users in our company I volunteered to give the Developer path a try. Why the developer and not the solutions architect (which is the most common one)? The developer path overlapped the most with what I've been doing with AWS so far.

How I Tackled the Exam

This certification was the first exam I took since leaving university and I actually enjoyed "studying" more than I anticipated.

I used the mornings and afternoons of my workdays to put in the time for studying. In total I put in a bit over 30 hours over the course of two weeks.

As a starting point I went through the Cloud Guru course in about a week. My personal take on the topics covered in this course ranged from "I know this already, let's quickly skim through it" (ElasticBeanstalk, EC2, S3) to "used once but let's see how it's actually meant to be used" (SNS, SQS, Lambda, API Gateway) to "never used, let's see what's behind this" (Kinesis, Cognito, CodeBuild, CodePipeline).

The second half was more focused on working with the services I didn't have much experience with so far. Reading up on the FAQs and actually setting up examples. I also read a lot of other people's posts about their experiences with the exam. This helped me quite a bit deciding what to look into.

As a last preparation step I took the test exam provided by AWS and the exam simulator offered by Cloud Guru. This allowed me to get a feeling for the type of questions.

The whitepapers which are also recommended for the preparation I mostly skimmed during my daily commute. Personally there wasn't much new information which I didn't learn during the last few years as a software developer.

The Exam Itself

The questions in the exam were mostly scenario based — like "You are asked to set up an automated deployment for X. How can you achieve this while always having a capacity of Y%?". Sometimes all answers would solve the problem at hand, only one or two would actually fulfill the specific criteria asked for. So I actually took the time to read every question twice.

Per NDA I'm not allowed to share any specific questions that were asked in the exam. But I want to share at least the topics which were part of my exam as I also benefited from others doing so while preparing.

Deeply covered

  • CI / CD with AWS: CodeBuild, CodeDeploy, CodePipeline — How can you override configurations; what options are offered by the different services; which service is the right one for specific scenarios
  • SAM, Lambda, API Gateway: How are they used effectively together; Some more specific questions on the services themselves
  • Cognito: When to use which feature
  • Elastic Container Service / Docker: How to set it up properly and use effectively with other services
  • CloudWatch: Mostly in relation to other services how CloudWatch could help in specific scenarios

Superficially covered

  • EC2 / VPC / Security Groups
  • RDS
  • SNS
  • X-Ray
  • CloudFormation

Not covered

  • Kinesis
  • Details from the AWS Whitepapers unrelated to the services

Closing Thoughts

Having gone through the process I definitely got a better understanding of many AWS services. In some cases I was also already able to uses some of my learnings at work. The result of the exam (954 / 1000) was better than I expected before starting with the certification. So, would I do it again? Yes.

If I were to do this again (or as a personal learning for other certifications), I would put more time into actually using the services I'm not familiar with. In this cases that would have been SAM, API Gateway and the CodePipeline-related services.

But I would again try to fit into a few weeks at most, because this allowed me to keep the concentration and not get carried away by everyday business.