It’s been a little over 1 month since my AWS Certified Solutions Architect – Associate (SAA-C02) exam. After finishing the Solutions Architect Associate exam, I immediately registered for the Developer Associate exam, which I took yesterday and passed.
I took a practice exam (through Linux Academy) shortly after passing the SAA exam, having actually gone through most of a Developer Associate training course. DO NOT DO THIS UNLESS YOU ARE READY TO DIVE DEEP INTO ANYTHING YOU MISSED. I managed to get about 72% on the practice exam, which is essentially a passing score so I let myself lose focus over the holidays.
Next mistake was going through a couple of versions of the course (30 hours each) instead of just using the practice test results to read the white papers, FAQs, and AWS service pages I needed to review. (Linux Academy/aCloudGuru courses provide links to associated AWS reference for this.)
Foundations in SAA
I highly recommend getting the Solutions Architect – Associate first. It covers a good breadth of topics that will give you a solid foundation. I recommend the Linux Academy courses that have labs that you can walk through via a transcript just to traverse all the areas you need to know.
Differences from SAA
All of the AWS Code* services factor into a significant chunk of the DVA exam. If you have solid experience with docker, k8s, and git, you’ll probably have a better than 50% chance on questions about services that you didn’t look into, but there are also things that are about the “AWS way” or the “way that AWS services push you to do things” that I shook my head at. (Physical team organization? Wat?)
- Learn how to set up X-Ray on the various compute environments.
- Create and deploy a Serverless Application Model project and dig into the configuration files for it.
- 0 bytes is the minimum object size, 100 MB is the recommended threshold to use multipart upload to S3, 5GB it is required, 5TB is the object size limit.
- View Protocol Policy in CloudFront (https/http)
- Bucket policies for enforcing server side encryption
- Learn supported platforms for CodeDeploy
- Learn lifecycle hooks for CodeDeploy (just look at the diagrams a few times)
- Learn which services trigger Lambda asynchronously and synchronously
- Lambda requires dependency packaging, and CPU is controlled by RAM allocation.
- Dead letter queues
- Lambda, by definition, does not do in-place deploy (because in-place requires a tangible server)
Including an inline review of two SCJP study guides.
Disclaimer: This is not a guide to passing the test with zero experience and no preparation. The SCJP exam will quickly expose lack of working knowledge. I have roughly 15 years of experience with programming in C and derivative languages, including about 1 year of Java 1.1 through 1.5 and about 2 years of experience with C++.
Note: Book links are paid Amazon associate links.
- Took class that walked through the J2SE 5 book, SCJP Sun Certified Programmer for Java 5 Study Guide (Exam 310-055) (Certification Press). Took the “self-tests” at the back of each chapter and reviewed the “Two Minute Drills” as part of the class.
- Downloaded the jPrep app for my iPhone, which helped review some concepts in flash card format, but other than that, did limited studying until Friday of that week.
- Downloaded SCJP Sun Certified Programmer for Java 6 Exam 310-065 [SCJP 6]. This is the Java 6 version of the book I used in the class. The self test questions are tough, and hard to get correct a second time through if you don’t know the material itself.
- Downloaded A Programmer’s Guide to Java SCJP Certification: A Comprehensive Primer (3rd Edition)[Programmer’s Guide] through my Safari Books Online account. I do not recommend this book. See Week 3.
- Read roughly the first chapter of the version 6 book while traveling.
- Took the “self test” questions at the end of every section of the SCJP 6 book. Got only 51% correct.
- Hand wrote the answers or a fuller explanation of the answers for every question I got wrong.
- Took the Programmer’s Guide mock exam. When I checked the answers, I noticed that the questions would say something like “select the 2 correct answers” and the answers would give 3 answers, or vice versa. Once I realized how bad the editing was on this book, I stopped using it.
- Re-took the “self test” questions at the end of every section of the SCJP 6 book. Got only 88% correct. This time, I read through the answer explanations for the incorrect answers, and then re-read the “Two Minute Drill” sections for my two worst sections.
I believe that the SCJP 6 helped me because the format of the questions [choose all that apply] was ultimately harder than the format of the actual certification test questions. The Programmer’s Guide “mock test” format was closer to the actual test format, but I spent way too much time reconciling the test answers and test questions for it to be useful.
Other factors and more detail that you may not care about:
I had the opportunity through to take a class [June 7-June 11 2010] to become certified as a Sun Certified Java Programmer for Version 5. The book used in the class was [SCJP 5 study guide]. At the end of the class, we were presented with the option of registering for either the SCJP version 5 or SCJP version 6 exam by the end of June 2010. I took the risk that I could study the gaps between the Java 5 and Java 6 and pass the SCJP version 6 exam. Little did I realize that the studying effort would be a little more challenging than I first thought.
I had originally read through the Java 1.5 Tiger: A Developer’s Notebook (Java 5,Version 1.5) when Java 1.5 was brand new [5 years ago]. Since then, I have done a small amount of maintenance programming, which got me familiar with a few of the advanced concepts. In addition, the concept of generics was familiar as C++ templates and I have my basic computer science engineering classes from 16 years ago as a foundation for it all.