Back in high school, one of my math teachers said you could dedicate your entire life to studying Mathematics and never learn it all. This is not only because its body of knowledge is so large, but because its rate of expansion is faster than your potential rate of absorption.
I’m just finishing up a training course for the Amazon Web Services (AWS) Developer – Associate certification exam, with the exam set for early next week. Meanwhile, I regularly get announcements of new services and updates to existing services in my inbox. I’m starting to feel like AWS is like Mathematics.
Amazon Web Services offers such a huge menu of services and options for using them, that I honestly believe that truly mastering them all is as impossible as mastering all of Mathematics. By the time you develop authoritative skill in a portion of their services, the body of AWS knowledge will have increased by more knowledge than you had absorbed.
This is because AWS is not just cloud servers, but cloud services. I counted 139 different service links in 23 categories in the main AWS management console (and I may have skipped one or two). To top it off, that’s just sort of top-level stuff. You’re not going to find load balancers or encryption key management services as their own links at that level, but as options under other services.
So how do you become “good” at something so big and growing so fast as Amazon Web Services? The same way you do with mathematics, by learning how to learn it.
If you can never know everything about something, then you need to develop the skill of developing skills. If you develop not only specific domain knowledge in a topic, but you develop an understanding for the feeling and philosophy of how a family of topics works, then you can pick up more of the topics in that family as you need them. And much like Mathematics, you start by learning a set of core knowledge, then building on it. Each time you expand into a different branch, you find the core of that branch and learn it, helping you more quickly build the necessary skills off of it.
That’s what I’m focusing on as I study for this certification. It’s not teaching me the whole sum of AWS, but starting me with the core knowledge that makes picking up new knowledge easier. And while this may seem an odd statement from someone who writes Amazon Web Services documentation for a living, I don’t think it is. I focus on the use cases, console job configurations, supporting code, and APIs for two very specific services, one of which isn’t even listed in the 139 I counted, and one of which is a sub-service of one of those 139. I can spend all day (and often do) thinking about nothing but how to describe a new feature in one service so I can get the idea across without using too many words.
But just to use those two services for creating demos and grokking their workflows, I also have to use three other core services (Amazon S3, Amazon Lambda, and AWS IAM) that I’ve been studying in more depth for this certification. Honestly, I bumbled through those when I was new, and learning more about them is giving me more insight into services in which I already have some expertise.
So yes, Amazon Web Services is like Mathematics in not only how big and complex it has become, but how big and complex is is becoming. Yet while you can’t keep up and be a master of every service, building core knowledge and familiarity with AWS philosophies will help learn how to learn AWS, so you become better and more proficient in picking up new AWS skills as you need them. At least that’s what I keep telling myself as I study.