TLDR – These are the steps that I used to work out my training plan before I got started. I’m sharing the steps I used to ‘analyse’ the exam paper so you can understand how my training plan got built. It might be useful for you to work out how I decided to ‘play the game’, but if you just want to sign up to get a ready made training plan that’s fine too.
Step 1 – Use the exam blueprint to work out ‘patterns’
Exam guides and blueprints give us clues about the structure of an exam. It’s this dull and dry info that I used to work out ‘metadata’ about an exam if you will. From scanning these two guides I worked out how to distribute my efforts and tighten up gaps in my knowldge.
As an example I’ve included a table of ‘translations’. Now I didn’t actually write this myself when I was doing the training – they just went straight into my training plan. I’m showing it as an intermediate step so you can see how a dry blueprint and exam guide might result in concrete actions for you.
First the exam blueprint – I went through and analysed each part.
Section | Description | What does this mean to me? |
Exam Introduction | Design, develop and deploy cloud based solutions using AWS | Ensure that my training includes understanding of cloud concepts |
Exam Introduction | Understand the core AWS services, uses, and basic architecture best practices | Ensure that my training includes understanding of AWS concepts and services – white papers are likely to be important |
Exam Introduction | Develop and maintain applications written for S3, DynamoDB, SQS, SNS, SWF, Elastic Beanstalk, and CloudFormation | Ensure each of these technologies is comprehensively covered in my training plans (separate flashcards/tutorials) |
AWS Knowledge | Professional experience using AWS technology | Nothing – will continue this in day job and by doing any tutorials |
AWS Knowledge | Hands-on experience programming with AWS APIs | Understand how the CLI and SDK works, and don’t only use the console in tutorials |
AWS Knowledge | Understanding of AWS Security best practices | Ensure IAM and other security technologies get covered |
AWS Knowledge | Understanding of automation and AWS deployment tools | Ensure Cloudformation and CodePipeline are covered along with understanding Blue/Green deployments |
AWS Knowledge | Understanding storage options and their underlying consistency models | Dynamo, S3 and NO-SQL knowledge is obviously important as it has its own section in this blueprint – create cards specific to them |
General IT Knowledge | Understand loose coupling, REST APIs SQL/No-SQL, message queueing | Was already familiar enough with these concepts – nothing specific to do in my case |
Having done the exam, I can vouch for getting questions on everything except SWF. And that doesn’t mean you won’t of course. So my training plan would have to cover these technologies. Next is the weighting of marks themselves – at least according to the exam guide. Note that I used the weights in the exam guide as opposed to the blueprint. I used the blueprint to understand the structure of the exam – I used the exam to give me a clue on where to focus.
Step 2 – Using the exam guide to work out core areas
We can see the following weightings in the exam guide:
Domain | Exam Percentage |
Domain 1: Deployment | 22% |
Domain 2: Security | 26% |
Domain 3: Development with AWS Services | 30% |
Domain 4: Refactoring | 10% |
Domain 5: Monitoring and Troubleshooting | 12% |
Whilst the exam being 30% about development with services might be no surprise, the fact that we have huge parts of the exam (relative to the other areas) dedicated to security and deployment give us more clues.
Step 3 – Translate the technologies in each section
In the same way as the ‘Introduction’ section indicated technologies and concepts I’d need to be familiar with, the next section gives an even more clear indication about what I need to be able to do in order to pass the exam. Whichever subjects I do pick up will be about satisfying the overarching principles.
Which brings us onto the exam guide itself.
The exam guide gives us the ‘what’, the blueprint gives us the ‘how’
The blueprint gives the structure of the test, which is a great advantage to focus our study. The exam guide gives us some more concrete clues on how to build our syllabus.
Domain 1: Deployment
Area | Identified study areas |
Deploy written code in AWS using existing: CI/CD pipelines, processes, and patterns. | CodePipeline CodeBuild CodeDeploy Cloudformation Serverless Deployments Blue/Green Deployments Deployment White Papers |
Deploy applications using Elastic Beanstalk. | ElasticBeanStalk Core Concepts |
Prepare the application deployment package to be deployed to AWS. | Cloudformation EC2 Beanstalk |
Deploy serverless applications | Lambda SAM |
Domain 2: Security
Area | Identified study areas |
Make authenticated calls to AWS services. | IAM Temporary Credentials Cognito |
Implement encryption using AWS services. | KMS |
Implement application authentication and authorization. | IAM Service Linked Roles |
Domain 3: Development with AWS Services
Area | Identified study areas |
Write code for serverless applications | Lambda API Gateway |
Translate functional requirements into application design. | Understanding of AWS architecture |
Implement application design into application code. | Understanding of AWS architecture |
Write code that interacts with AWS services by using APIs, SDKs, and AWS CLI. | CLI Knowledge SDK Experience |
Area | Identified study areas |
In-depth knowledge of at least one high-level programming language | Get familiar with the use of SDKs – compare them with the Console and API |
Understanding of core AWS services, uses, and basic AWS architecture best practices | Flashcards for each core area and reading white papers to understand best practices |
Ability to identify key features of AWS services | We’ll need to be able to ‘distill the meaning’ when we study each AWS services |
Understanding of the AWS shared responsibility model | IAM knowledge is a must |
Understanding of application lifecycle management | Going to need to know CodePipeline, Cloudformation, EC2 |
Ability to use a CI/CD pipeline to deploy applications on AWS | As above |
Ability to apply a basic understanding of cloud-native applications to write code | Container knowledge definitely required |
Proficiency writing code for serverless applications | Pretty obvious we’ll be doing Lambda! |
Ability to write code using AWS security best practices (e.g., not using secret and access keys in the code, instead using IAM roles) | IAM study once again |
Next steps
Now we have distilled the essence of our training, we need to put together a realistic training plan. I’ve tried and failed on projects before because I haven’t realised what I’ve gotten myself into. Without an end date known in advance, your enthusiasm will wane. You need to know if you’re tracking according to your plan, and you need to know weekly.
Let’s move on to setting up a training plan.