On December 2016, I wrote down things I would like to do for 2017, one of them is to learn AWS. Admittedly, it was an ambiguous goal and lack of specifics, hence not surprisingly it was sort of forgotten for the good part of 2017.
My motivation back then came from the fact that I was advising my client on her cloud software in AWS but I was lacking in knowledge and experience in it.
Sometime around August 2017, I met an (micro-service) architect and we had a good chat about .. architecture of course!
Few weeks after that, I then had multiple conversations with different people in the industry and I realised few things:
- The world of infrastructure has changed - infrastructure as a service is now the de-facto way of hosting application in the cloud. There is no arguing that AWS is the leader in this space both of offerings and innovations.
- Software architecture has slowly shifting from the monolithic to micro services. And perhaps serverless is the way of the future.
The whys revised
Those conversations convinced me to get my act together and sort of reminded me of my learning “resolution” earlier.
My whys are now crystallised:
- The why in 2016 still stands, I need to provide better value to my client who relies on my expertise and knowledge of AWS.
- It really bothers me that there’s so much gap in what I think I should know and what I actually know. I simply need to close the gap.
- I can’t honestly claim to be a senior developer with this knowledge gap. It is a disadvantage for myself and my clients / employer and in my mind, a senior dev needs to know infrastructure and architecture.
Few people asked me if do I do this because I inspire to be an architect? I am not sure the answer in the future, but at the moment, the answer is no. I am really happy being a full stack developer, but as mentioned I think I can now and should be able to offer more than my coding skills.
Maybe devops is where I am heading to? Who knows.
So finally, in late September, I decided to take AWS Solution Architect Associate certification:
I thought the certification is a good way for me to get broader and deeper overview of AWS services and cloud architecture. Most importantly it will give me a structure or a blue print on things that I need to know.
I wholeheartedly agree, with this post that the one of best ways to learn AWS is by training for the cert.
What a lot of people don't realize is that training for an AWS certification is a highly effective way to learn AWS
The journey so far
So I have been preparing for the certification since then, mostly using the excellent course from A Cloud Guru.
I am currently at the last stage of my preparation and I can say the learning journey has been totally worth it.
First of all, I now understand most of the basic building blocks of AWS.
This below used to intimidate me:
But not anymore!
Secondly, I now have a little more confidence thinking about architecture and setting it up.
For example, looking at a reference architecture diagram below (taken from AWS Reference Architecture for WordPress site):
I have the confidence to implement that from scratch in AWS.
I certainly won’t be able to do it few months ago before embarking the learning.
I thoroughly enjoyed the learning process, here’s hoping that I will be able to pass the certificatione exam itself.
I am amazed how AWS makes things really easy. I worked in a high availability system before, while I wasn’t involved setting it up, I certainly got a taste on maintaining and troubleshooting it. Setting up load balancer, monitoring, implementing failover, MySQL master-master replication - all of these were set up manually. It was tough but with AWS these things can be done easily.
If you are on the fence with regards to taking the certification - go for it!
I must warn you though, the journey won’t be easy, expect few months of preparation but in the end the knowledge and experience gained will be worth it.