After five years at my previous job as a Software Development Engineer in Test working on Test Automation, I recently decided to leave my job. Do not get me wrong, Motorola Solutions was a great company to work for. I grew my career from working as a Manual Tester to working in Automated Testing and was able to quickly acquire more skills in Python, Data Science, CI/CD, Infrastructure, Secure Coding and leadership. My coworkers were amazing people who I enjoyed working with each day. I was able to work with vendors to increase my teams' code quality, got to visit the Motorola Headquarters on the 42nd Floor in Chicago, and met amazing individuals from other parts of the company through coffee chats and being involved in the Latinx ERG. Motorola was also generous enough to pay for my Pycon 2022 conference.
However, I experienced a tremendous amount of personal and professional growth during this past year. I ran two marathons, founded a Python meetup group for Spanish-speaking developers in the US, began volunteering to teach Java at a local high school through Microsoft TEALS, started contributing to open-source and spoke at PyDay Chile 2022. I am grateful for the opportunities provided to me at Motorola but wanted to challenge myself further and to continue growing my skillset.
I knew I had to begin skilling myself up. I began doing my research on what skills are most in demand in the current tech market and a recurring theme was Cloud Computing. Most In-Demand Tech Skills 2022. This led me down the path of learning more about Distributed System Design and Cloud Infrastructure.
Before acquiring these certificates, I dabbled a bit in cloud and system architecture. I had previously deployed and managed numerous web apps, worked with Jenkins infrastructure and architecting systems, maintained NoSQL and Relational databases, used GitHub Actions on my open-source projects and managed my own PiHole. I also sporadically attended some workshops on Microsoft Azure which Motorola Solutions graciously paid for. This all gave me a solid DevOps foundation to build on to begin my journey into the cloud. However, the AWS ecosystem of services was completely new to me. I had no formal training in architecting distributed systems before obtaining my first certification.
Originally I began my journey by using the resources provided by AWS Skill Builder. I was confident I could learn enough to take on the AWS DevOps Professional exam. Soon after, I realized the material on AWS Skill Builder was not enough to prepare me for this very difficult exam and Amazon requires you to obtain at least one Associates certificate before attempting the Professional exam. I underestimated the difficulty of the exam and overestimated how far the content on AWS Skill Builder would get me. It did a great job summarizing what would be on the exam but the content was not sufficient enough for me to learn about the vast amount of services provided by AWS.
Of course, I do not give up so easily. I began searching for more study material I could use to better understand system design and AWS. I picked up a copy of System Design Interview – An Insider's Guide: Volume 2: Xu, Alex, Lam, Sahn to better understand how to architect complex systems, subscribed to ACloudGuru for more structured video courses, quizzes and exams, joined the AWS Certification & Training Group on LinkedIn, and subscribed to the AWS Podcast. Over the next 4 weeks, I completely immersed myself in the world of AWS to begin earning some certificates.
ACloudGuru offers a learning path to obtain the AWS DevOps Professional certificate. It begins with an introduction to the broad suite of AWS Services and builds a strong foundation to prepare you for the AWS Certified Cloud Practitioner exam. This exam is great for beginners as it tests you on cloud fundamentals and the services AWS offers. However, do not be fooled into thinking it will be a walk in the park. Since the exam covers a broad amount of topics, you will have to be familiar with a good amount of AWS offerings so there is a lot of memorization involved. As I currently write this post, there are over 200 AWS Services.
To prepare for the exam, I had to learn about EC2, Lambda, DynamoDB, RDS, IAM, SNS, SES, SQS, VPCs, S3, AWS Pricing, Billing and Governance plus many more services available. The challenge was being able to differentiate between all of these services. In total, I spent about 20 - 25 hours total on the content available through ACloudGuru. I took notes as I went through the videos and labs to help me retain information and make sure I knew when a specific service would be helpful. Once I had a general idea of the questions I could expect on the exam, I began taking the 6 practice exams offered by ACloudGuru. I utilized my time by flagging questions I was unsure about and came back to them once I had finished answering each question on the exam. On my first try for the first practice test, I obtained a 72% score which would classify as failing the actual exam. I noted down which sections I did poorly in, rewatched the necessary videos and retook the exam. I repeated this process for a few days with each practice exam until it was time to take my exam.
Whereas the Cloud Practitioner Exam covers a vast variety of services, the Solutions Architect Associate Exam dives deeper into building out how to architect and deploy secure and robust applications on AWS technologies. Here is a comparison of the domain breakdown between the two exams:
|Domain||AWS Cloud Practitioner||Domain||AWS Cloud Solutions Architect - Associate (SAA-C03)|
|Cloud Concepts||26%||Design Secure Architectures||30%|
|Security and Compliance||25%||Design Resilient Architectures||26%|
|Technology||33%||Design High-Performing Architectures||24%|
|Bills and Pricing||16%||Design Cost-Optimized Architectures||20%|
As shown in the table above, this exam focused on the design of systems versus the foundations of cloud technologies. In addition, I realized the exam had been recently updated in August 2022 to focus more on designing secure and cost-optimized architectures. The New SAA-C03 AWS Certified Solutions Architect Associate Exam 2022. Luckily, I had already been reading my System Design Interview book for 30 minutes a night before diving into the content on ACloudGuru. I began my preparation strategy similar to how I did for the Practitioner Exam - by taking notes on each video. However, I soon realized that to do well on this exam I should focus on gaining a deep understanding of systems rather than memorizing the material. This course also had more content to cover at about 54 hours so I spent about 70-80 hours total preparing. The labs provided by ACloudGuru were really helpful in helping me gain an understanding of how I could combine AWS offerings to build a complete system. Some of the sections I found more challenging were:
Compliance and Governance
However, after finishing the video and lab content on ACG, I dove into the practice exams. As I expected, I did not do well on my first attempt of the exam.
I used the same strategy as I did for the Cloud Practitioner Exam and focused on the areas I saw I was weak. In addition, on the night before the exam, I took the 20-question practice exam offered through AWS Skill Builder. I did not do well on my first try for any of these practice exams. However, I knew I couldn't let this discourage me and did my best to learn from each attempt. On the morning before the exam, I woke up at 4 AM and completed 3 practice exams before my exam at 10 AM. I passed each attempt and felt confident going into my exam!
I decided to take both of these exams at the same Pearson Vue testing center. Test takers are required to leave all their belongings in a locker and are given a whiteboard sheet to use while taking the exam. Both exams were about 2 hours total with 60-65 questions total. The Cloud Practitioner Exam did not take me the whole time and I finished with about 30-40 minutes left. After finishing the exam, the system immediately let me know I had passed and I loudly exclaimed "YES!" since I had been the only one in the room. I felt much more confident going into this exam than I did for the Cloud Solutions Architect Associate Exam.
Since the Cloud Solutions Architect Associate Exam was much tougher, I used my time much more carefully. I spent about 1-2 minutes thinking over each question and unless I was highly confident in the answer, I flagged the question to make sure I came back to it. With around 20-30 minutes left, I had finished answering each question and went back to the flagged questions. After reviewing all of my answers, I hit submit with about 10 minutes left on the exam. Unlike the Cloud Practitioner Exam, I did not receive an immediate Pass/Fail on this exam and I could not help but wonder the rest of the day whether I had cleared it. Some of the questions I found challenging on the practice exams weren't even on the real exam!
After a day of refreshing the AWS Certifications Exam page, I logged in the next morning to find out I had passed! I proudly shared the Credly badge on my LinkedIn.
What I Learned
Overall, obtaining both of these certificates has been an enjoyable experience for me. I feel validated in knowing I am capable of challenging myself with difficult problems and that with proper preparation and hard work I can take on anything. I learned that learning from a variety of sources (videos, labs, books, practice exams and quizzes) makes sure I can address any gaps in my learning. Also, I learned much more than I previously knew about designing and building distributed systems. :)
Since passing both of my exams, I am continuing to read through the System Design Interview book and highly recommend it to anyone looking to further their understanding of System Design concepts. I also feel much more comfortable learning about distributed systems from YouTube channels and the AWS Podcast since I now have a solid background in how to design distributed systems.
I hope to continue my cloud journey by taking on the SysOps exam next with the hopes of later earning my DevOps Professional certification!
Have you taken either of these exams? If not, do you plan to take it in the future? What is/was your preparation strategy? Let me know in the comments below!