Hey Lou, I’ve been following you since I registered in Dev.to.
Your posts and blog are some of the reasons I got interested in Cloud, but I kept delaying it because I didn’t want to rush into it, now that I’ve learned Docker, Swarm, Kubernetes, Jenkins, Ansible, Linux administration and a bit of cloud with Digital Ocean droplets (mind you I’m a junior so I have very little experience), I feel ready to begin AWS, I’m so excited you have no idea. I bought a course on AWS Architect Associate, but I haven’t started it yet, I have one question.
I’m aware AWS has four levels: foundational, associate, professional and specialty. I’m also aware associate has three paths: architect, developer, sysops.
I read that it could take a couple years to move from associate to professional, should I put all my time into one path? or should I learn all three associate paths before focusing on one?
Also, if you have any general advice for me and/or any useful posts from your blog before I begin AWS I’d seriously appreciate it.
Thank you very much!
Firstly, this is a great question. I’m really grateful they took the time out to write such a detailed question, stating what they’ve already looked into, and some information about their past. That makes the question much easier to attempt to answer.
AWS Associate Exams
The three Associates exams have quite a lot of overlap so you could do them all, but there’s going to be around 50% (ish) of overlap between them. An employer isn’t necessarily going to be 3x more impressed with 3 certs than 1 so it might not be a great use of your time. Then again, if it is “completeness” (of skills) you’re after, and you’ve got a lot of time on your hands… sure, why not.
How To Think About AWS Exams
In terms of learning path, I’d try and actually learn the AWS stuff (for real) and treat the exam as a way to “rubber stamp” your already existing experience. If you chase the exams too much, you’ll learn a lot of superficial and kinda irrelevant stuff.
I’d suggest to pick one exam, like an associate exam, and get into the details of the topics that are outlined, practice and build stuff in real life and the learning will stick, and probably be a lot more useful in the “real world” or for job interviews etc. When it comes to taking the exam it should be relatively easy and you should be practically experienced with most things anyway.
Setup Your AWS Account Securely
In terms of AWS must knows… if you do start digging into AWS, I suggest you have a quick read of: Your personal AWS setup (and how to not get hacked). You don’t necessarily have to follow the suggestions, but at least you’ll be aware of some stuff that could go wrong (getting a big bill is pretty damn stressful). I’d really suggest setting up some billing alarms, and just be careful what you do with your access credentials. I presume you might already have read… Where (And How) to Start Learning AWS as a Beginner but if you haven’t I stand by the advice in the article!
Consider Infrastructure As Code
One other article that you might not think to read is: 5 Important Reasons To Learn Terraform Before Cloud Computing. where I make the case for learning infrastructure as code tools before learning Cloud.
I mean, you don’t have to learn Terraform (CloudFormation is fine, for instance), though I do suggest it. But I’d definitely suggest leveraging some IaaC tools when you’re learning (for reasons I discuss in the article)… it’s a bit annoying to have another prerequisite to learning, but believe me it’s going to pay off quickly. And you’ll kick yourself later if you don’t do it.
Start with manually clicking around, but when you start trying to do bigger things, I’d really really suggest scripting them. There’s some more resources in: Infrastructure As Code: An Ultimate Guide but I’m still working on making that resource better (it’s a huge task!).
Learn One Concept At A Time
Another thought: Generally speaking, if you want to be efficient with your time, I’d suggest not learning substitute technologies. Learn the concept or the idea, and apply it well for just one area. For instance, there’s no real reason to learn 5 different CI tools. You mention Jenkins, so if that appeals to you, stick to Jenkins and you can mostly ignore the others (in the short term).
Also for instance, swarm and kubernetes are similar, so you might want to consider only looking at one. If I’m being opinionated, I think you could put off learning Ansible for a bit (unless you really need it) and Kubernetes is a huge topic, so unless you’re prepared to take that on, you may want to prioritise other things first.
Fire Away With More Questions
And that’s it for this reader question, hopefully that was useful for you if you were looking for some direction with the AWS certifications. And as before if you have a question of your own, feel free to submit it.
Speak soon Cloud Native friends!