I successfully earned the AWS Certified Solutions Architect - Associate credential in mid-February and with that experience fresh in my mind I want to pass along a few thoughts. Overall, I highly recommend learning about the capabilities of AWS, so I have divided this post into two parts: "Should I pursue the AWS Certified Solutions Architect - Associate Exam?" and " How should I prepare for the exam?"
My observation is that the vast majority of online articles, blog posts, and forum answers related to the exams offer trite "silver bullet" advice (usually with sponsored links to one of the test prep platforms) or dive deep into the details of specific question types. These posts fail to help you determine a holistic preparation plan or the purpose behind undertaking (what will be) a rigorous course of study. The AWS Certified Solutions Architect - Associate exam will require 20-100 hours of preparation depending upon experience, so answering the questions above are necessary to guide you to a successful test result.
Throughout this post, I will refer primarily to the Certified Solutions Architect - Associate exam as "the exam" or "CSA," as it is the exam appropriate for those new to AWS. The Certified Developer and Certified SysOps Administrator exams focus on implementation specifics and don't focus as much on what I would call "foundational" knowledge related to AWS architecture and design. The Professional-level exams are intensive, require you to have passed the Associate-level exam, and require working experience with the technologies.
Should I pursue the AWS Certified Solutions Architect - Associate Exam?
There is no doubt that AWS certifications are in demand. Reports such as Global Knowledge 2016 IT Skills and Salary Survey document lucrative salaries associated with the certifications, although you should remember lessons from your college statistics courses about confounding variables (such as prior software engineering experience) before reciting those figures as objective truth. Instead, I will frame the decision in terms of your current/desired career trajectory with supporting use cases.
1. You are entrepreneurial-minded and/or want to work at a startup:
- You have a connection at a startup that uses AWS, and want to showcase your skills to this prospective employer. For startups, being able to "hit the ground running" with their particular tech stack is important, as they don't have the time or resources to train you.
- You work at a small business and can't stand how much time is spent debugging servers rather than building out your platform. You want to convince your boss that a cloud-based solution is preferable, and want to have a role in creating the platform.
- You have aspirations of creating an online platform where users can share images and content related to your favorite hobby, but are unsure of the right toolset for the job.
2. You are working in traditional software engineering:
- You want to transfer into a DevOps or infrastructure engineering role and need to bolster your knowledge and credentials.
- You want to be promoted into a project management role but feel weak on concepts related to technical architecture.
3. You already work with AWS in a limited capacity:
- You know certain AWS tools well (EC2, autoscaling groups) but do not have a holistic view of AWS capabilities.
- You have substantial experience with AWS and want to prove it to management / potential employers.
4. You work in IT Consulting:
- You want to negotiate a salary raise/promotion or obtain a better position in a peer company. AWS certifications are hugely valuable in helping consulting companies win contracts.
- You seek to improve your performance rating by contributing to AWS-related proposals or simply demonstrating your desire to continue professional development.
My motivations were a mix of all of the above categories. Last December, I set up a free tier AWS account and worked through exercises. After an hour or two a day devoted to AWS, over the span of two weeks, I recognized that the technical rigor was manageable and the full scope of exam content within reach. Following a holiday vacation abroad, I set out on a detailed course of study and completed the exam in mid-February.
Here are a few cases where I do not think the certification process is worthwhile:
- You have technical aptitude and are in the nascent stage of growing a startup/small business using AWS. The certification will not earn you immediate financial returns and you will learn the requisite AWS tools by virtue of the demands of the job.
- You are committed to a non-technical role in your company. Instead, you should read a few AWS Whitepapers but the full certification will exceed your needs. Additionally, AWS partner organizations offer several non-technical and less rigorous web-based accreditations.
- You lack basic programming/coding experience (e.g. knowledge of SDLC and RESTful Web Services).
Finally, if you are still undecided, here are three additional techniques I used:
- Review appealing job postings for mentions of AWS and related technologies.
- View LinkedIn profiles of professionals working in positions you desire, and look to see how many of them utilize AWS and/or hold the certification.
- Talk with friends who work with AWS. If you work in tech in a major city, they won't be hard to find.
I hope this post has informed your decision. Reach out in the comments section below if there are any other questions I can answer, otherwise read on to learn about the preparation process.
How should I prepare for the exam?
I found the exam to be exceedingly fair and balanced, achieving both depth and breadth across the many topics covered. The core concepts are VPC's, EC2, and architecture, but the correct answers are inextricably linked with a proper understanding of security, scalability, cost, and deployment considerations. The CSA exam consists of 60 questions in a time limit of 80 minutes. Upon submission, you receive instant results with an overall pass/fail judgment and breakdown of your performance in four domains.
An aside: In the three months preceding the CSA, I completed the CompTIA Network+ and Security+ certifications. Both of those exams require a substantial amount of memorization and analytical skills, but I found that certain subjects could be "gamed" by predicting what questions could appear on the exam. Subnetting, for example, only has three or four questions formats appropriate for a fast-paced multiple choice exam. Paul Graham conveyed a similar theme in one lecture of the (excellent) How to Start a Startup series at Stanford:
I found that in a lot of classes there might only be 20 or 30 ideas that were the right shape to make good exam questions. The way I studied for exams in these classes was not (except incidentally) to master the material taught in the class, but to make a list of potential exam questions and work out the answers in advance. When I walked into the final, the main thing I'd be feeling was curiosity about which of my questions would turn up on the exam. It was like a game."
This approach will not work on the Certified Solutions Architect exam. Avoid the temptation to study via numerous online quizzes. AWS keeps a tight grasp on exam content, so many of the questions scattered around the web are outdated or incorrect. I recommend using practice questions for diagnostic purposes only.
Amazon Web Services provides an overview that should be your starting point during certification preparation. Before going any further, ensure you have an understanding of exam content and question format.
This tongue-in-cheek website is a great way to familiarize yourself with AWS vocabulary at the onset of your study plan: AWS in Plain English.
Your first major decision is to choose a test preparation platform that provides hands-on exercises. You absolutely need to set up a free tier AWS account and gain experience working with the tools. Many employers provide or will pay for access to one of the resources below:
Cloud Academy (~$60/month) - I used Cloud Academy and found it to be very useful. With ~27 hours of content, 15 labs, and ~500 practice questions, it will get you about 70% of the way to the knowledge you need for the exam. Change the video speed to 1.25x or 1.5x to cover information quickly.
A Cloud Guru ($29/month) - Another resource I used extensively, which nicely complements the Cloud Academy curriculum but is extensive enough to meet the needs of most people on its own. I found the IAM and VPC videos to be far more intuitive than the Cloud Academy equivalents. Try out both Cloud Guru and Cloud Academy to determine which fits your learning style.
Linux Academy ($19/month)
For additional practice and hands-on exercises, consider the book Amazon Web Services in Action. I found that the exercises force you to think about tradeoffs in design choices and go into more detail than any of the popular web-based platforms. If you do not use AWS regularly, buy this book.
Watch the excellent Amazon Masterclass series on YouTube. The linked playlist contains about 10 hours of content, but once again utilize the 1.25x or 1.5x speed setting to cover information at the fastest manageable speed.
After completing the videos, read the whitepapers recommended by AWS. If any concepts are confusing, go back to hands-on exercises or instructional videos. In particular, I believe test-takers underestimate the weight placed upon security and VPC connectivity concepts.
Take a formal practice exam ($20) to diagnose your study progress.
Read the FAQ's recommended on the certification prep overview. It's dry reading but definitely makes a difference on exam day.
Day before exam: reread the Cloud Best Practices whitepaper.
- AWS Certification Guide on GitHub
- Another GitHub resource, with subject-specific guidance
- View select AWS re:Invent videos (from AWS annual conference) on YouTube
My test preparations followed the plan above and I experienced two learning curves: first, it took me 3-4 hours of broad AWS capability review before I learned how the pieces fit together; then, 25-30 hours of videos, hands-on exercises, reading, and rote memorization before I reached a comfort level with architecture and design decisions on AWS. The remainder of my study focused on reading FAQ's (to assist with troubleshooting), reading technology-specific whitepapers (aside from the eight recommended), and exercises in the AWS in Action book.
From talking with friends who have failed the exam on their first try, the most common shortcoming seems to be a lack of understanding of networking fundamentals. You need to have a decent grasp of concepts such as the purpose and functions of VLAN's, NAT, DNS, VPN's, access control lists, and routing tables. As alluded to earlier, security concepts are notoriously prevalent and should be on your mind for every question.
I hope this overview has answered the questions " Should I pursue the AWS Certified Solutions Architect - Associate Exam?" and " How should I prepare for the exam?" If you have any comments or questions, feel free to submit them in the comment field below or reach out to me on the contact page.
- AWS Certified Solutions Architect - Associate is a worthwhile certification, but don't assume the exam will be easy or can be gamed.
- As with any professional development endeavor, creating a formal study plan will set you up for success.
- Practice with the AWS platform is required; this exam is not an exercise in rote memorization.