Back when I first started learning AWS there was a handful of different services. Today, there is over 100 services and it continues to grow every year. There is loads of resources for each service. Each service has documentation, walk through videos, and enough GitHub sample code to make your head spin.
Yet I speak with junior level developers or folks who are just starting their second career in development and they say, "how should I go about learning AWS?". When the first person asked me this I was unsure how to answer. There is many resources available to learn any service, so why this question?
Then I took a step back and thought about it. I thought about why this question was a recurring theme. I dissected why learning AWS is different than learning programming language xyz. I came to one general conclusion and a solution folks learning AWS should try and follow.
Problem: Analysis Paralysis
There is a vast amount of information for each service an individual wants to learn. So much information that those hungry to learn can tailspin into over thinking. There are loads of resources, but there is no clear starting point. Without a starting point it is difficult to know where to get started.
Solution: Pick A Problem and Leverage Services To Solve It
Do you remember when you first learned Algebra? Did you sit in a classroom and read your algebra book to yourself like it was a bedtime story?
No of course not.
You had a teacher that walked you through example problems. They taught you about why those problems exist and how to solve them. You had homework to practice solving them for yourself. Not once, not twice, but often more than a dozen times!
Learning AWS is no different then the concept behind learning algebra. The documentation explains why this service even exists and what it can help you solve. The videos show you how to leverage this service for a problem that looks like X. GitHub samples are the examples you can refer to and extend.
But, you are missing the homework.
Learn AWS By Using It
Amazon is not going to give you homework. To learn Amazon Web Services you have to start using it. The best way to learn almost anything is to start leveraging it for a purpose that is outside of your learning. This reinforces what you learn and makes you an expert.
Focus on a problem you are facing. Now think about which AWS services you can leverage to help you solve that problem. Then start solving your problem and learn the services as you are going.
That is the method I used to learn AWS and how I learn new things today. Today I am a Certified Professional Solutions Architect. I started with a simple problem back in the early days, "how can I avoid paying 10 dollars a month to host my portfolio?". A little bit of initial research pointed me to Simple Storage Service (S3). Then I started using that service and reading what it could/could not do and that led me to CloudFront.
I focused on my problem and then learned the services as I was leveraging them for a solution.
Conclusion
This is one approach to learning AWS. Not everyone has the same learning style. But I hope there are pieces from this post that are valuable in helping others get started. I create a course focused on this method of learning AWS, here.
I enjoy talking about everything AWS and development related. If you have any feedback for me or want to talk about other ideas please leave a comment.