Last year, I completed Udacity’s AWS Cloud Architect Nanodegree Program. Since then, several folks have reached out to ask me about my experience, so I thought I’d share my thoughts here.
I’m a big believer in continuous learning as a software developer. Before enrolling in the program, I’d worked with AWS technologies for several years, and my interest in cloud computing has continued to grow. Many companies are rapidly adopting cloud computing services, so it’s also an area that’s growing fast with many interesting career opportunities.
As an experienced professional, I was looking for a structured learning program to consolidate my cloud knowledge, so I decided to try out Udacity’s AWS Cloud Architect Nanodegree Program.
According to the website, the estimated time to complete the program was 3 months at 10 hours/week. Since the program is self-paced, however, you can complete it sooner. I completed the program in 10 days over the summer of 2020, working on coursework part-time during the weekdays and full-time over two weekends (I was trapped at home during the COVID crisis anyway).
Also, since I completed the program during my one-month free trial, I did not end up paying any tuition for the program. As other bloggers have probably noted, try to avoid paying full price for the program, as Udacity regularly runs discounts on their platform, which in my case included one month of free access.
Most of the content was not new to me since I’ve been working with AWS for a while now, so I mostly sailed through the course. I expect most experienced professionals with some AWS knowledge to be able to debug issues quickly and complete the projects with relative ease.
However, if you're relatively new to the AWS platform, it might take some time to get used to working with the AWS management console and the AWS command-line interface.
The program focused on training engineers to architect their applications using AWS cloud technologies. It covered various key cloud concepts such as availability, reliability, resiliency, performance, scalability, and security in a hands-on and practical format.
I completed three projects during the program. The first project involved using CloudFormation to deploy a highly available, resilient, and reliable infrastructure using AWS services such as EC2, MySQL RDS, S3, etc. As part of the project, I had to implement various failover and recovery techniques to recover a database in the event of a failure.
In the second project, I wrote Terraform scripts to deploy a lambda function. This was my first exposure to Terraform. I’ve been using CloudFormation throughout my career, so it was cool to be exposed to a new tool.
Then, in the final project, I was asked to simulate common security attack scenarios and various cloud configuration vulnerabilities; I then had to apply the methods learned in the course to harden and secure the infrastructure. This project gave me a better understanding of the engineering problems my DevOps peers dealt with on a day-to-day basis.
Again, most of the content was not new to me, but the structured curriculum did help me fill in some knowledge gaps here and there, especially in the area of cloud security.
You really do get the sense that you’re working on a real-world project during the whole process. What I loved most about the program were the projects at the end of each unit, which closely resembled scenarios you’d encounter in the real world. I was asked to create AWS architecture diagrams, which was particularly fun for me. I also spent a lot of time working with the AWS management console, and applied industry-standard tools like CloudFormation and Terraform to deploy entire cloud architectures.
My projects were graded in a timely manner and the feedback given was generally helpful. Although I completed the bonus sections, I did not receive feedback on those sections, which was a negative for me. Since the bonus materials stretched my abilities the most, it’d have been nice to get feedback on my submissions.
The course videos were short, easily digestible, and were accompanied by the right amount of quizzes/exercises. I felt that the quizzes did an excellent job in assessing my understanding of the lecture content at every step of the learning journey.
I rarely got stuck during the program, but when I did (mostly due to a couple of inadequately worded instructions), the Q&A platform was particularly helpful, and I was able to find answers to my issues almost immediately. Since the program was relatively new when I joined, the student community was still quite small.
After submitting all my projects, I had the option to receive resume support from Udacity’s Career Services. Although I wasn’t looking for a job, I submitted my Github and LinkedIn profiles for feedback anyway. I’m glad I did, as the feedback I received was pretty detailed. I ended up implementing some of my Career Advisor’s suggestions on my LinkedIn profile.
After completing the course, don't forget to tear down any AWS infrastructure that you set up during the program, so you don’t end up with a hefty bill from AWS a few months down the road!
Overall, it was a solid experience and I’d definitely recommend the program to anyone interested in expanding their cloud expertise. I was also recently invited to become a mentor on the Udacity platform, which is a cool way to stay up-to-date on cloud technologies while helping to educate the next generation of cloud developers.
If you’d like to learn about the cloud (in particular AWS) in even greater depth, I’d recommend earning the AWS Solutions Architect Professional certification, but more on that in a future blog post.
If you’re curious about anything else, please feel free to reach out.
What did you like or didn't like about this post? Let me know what worked well and what can be improved. Your feedback is much appreciated!