Preparing for a Career in Cloud Computing

Posted January 20, 2022 by Trevor Roberts Jr ‐ 5 min read

Hello (Again) World! I took some time off from blogging, gaming, etc. to renew my existing AWS certifications, to earn a GCP certification, and...to speak at re:Invent 2021! 😮 However, I'm back, and I'd like to switch gears a little bit to share recommendations on how aspiring Cloud Engineers can learn the skills they need to land that first role in cloud...

Captain America detention meme asking you about your cloud career ambitions

Congratulations! You made the decision to pursue a career in cloud computing. I may be biased, but I believe this is the most exciting career journey you can embark upon. Now, how do you get started? This is a question I am asked on a fairly regular basis. In the spirit of "Don't Repeat Yourself" (DRY), I'd like to share a few ideas in this post.

I do not like using clichés, but I'll make an exception this one time: this career is not a sprint; it's a marathon. That being said, it's a marathon where you can pick up small wins along the way! Making a plan and taking a phased approach to your skills development will yield the best chance for success. In cloud transformation discussions, we refer to this as taking a Crawl->Walk->Run approach where you may start off slowly, but you end up accelerating towards your desired goal.

Step 1 Foundational Skills (Crawl)

  1. Linux - When Microsoft is developing its own Linux distribution, it's pretty safe to say that learning Linux is a really good idea. Get familiar with working within the operating system, deploying applications like web servers, and performing administration tasks like extending disk partitions.

  2. Python - This is the most versatile language that you can learn as an aspiring Cloud Engineer. From infrastructure deployment to machine learning, Python seems to be the most popular language for doing anything in the cloud. I love Rust and Go. However, if you are just getting started, learn Python.

  3. Pick a cloud, ANY cloud out of the Big Three - (AWS, Google Cloud, Microsoft Azure) and begin learning foundational skills in it.

    1. NOTE: It may be tempting to learn multiple clouds at the same time, but I strongly recommend against that. There are very large organizations that are attempting multi-cloud at the moment, and many are finding it to be challenging. Try out some basic tutorials with all three clouds, pick the cloud you like the best, and become an expert in it. Good cloud design principles translate well between all three cloud providers. I can personally testify to that because I passed the Google Professional Cloud Architect certification with only two months of studying. The five years I spent diving deep into AWS and well-architected design practices really helped me achieve this goal.
  4. Learn an Infrastructure-as-Code (IaC) technology - Popular options include the AWS Cloud Development Kit (CDK) and HashiCorp Terraform.

  5. Become a confident public speaker - Participate in Toastmasters. I seriously upgraded my speaking skills through the curriculum they offer.

  1. Infrastructure Design Principles - There are many success stories in the industry of how to build highly available and highly performant web applications. Learn from the examples of companies like Instagram, Facebook, etc. through videos like the This is My Architecture series.
  2. Review recommendations from your preferred cloud vendor: AWS, GCP, or Azure

Step 3 Build on your foundation (Run)

  1. The Twelve-Factor App - Learn recommended principles for designing cloud native applications.
  2. Containers and Kubernetes - Docker's simplification of using containers to deploy applications significantly changed the way developers and organizations package and distribute their applications. Kubernetes helps you efficiently and reliably manage your containers at scale. Get familiar with these technologies with free resources like VMware's Kube Academy. When you feel confident, consider preparing for the Cloud Native Computing Foundation's entry-level certification: Kubernetes and Cloud Native Associate (KCNA).
  3. Read The Unicorn Project by Gene Kim to see DevOps practices being put into use to improve IT application delivery. I love Gene's approach of teaching principles through a story format by illustrating the failures and successes of a fictitious company called Parts Unlimited.

If you already are in the Information Technology (IT) field:

Look for opportunities in your existing company to either switch roles or become an informal "intern" to the team working on cloud computing projects. In parallel, work towards an Associate-level certification in the cloud you have chosen.

If you are brand new to IT (or are returning after a hiatus):

This will be more challenging but can still be done. As you build your skills, either look for volunteer opportunities to apply your skills with nonprofits who need IT knowledge, or start your own consultancy working with smaller companies to put your cloud skills to use.

What's Next?

There are many more recommendations that I can share. If this blog post proves to be helpful, please let me know on Twitter. Based on the feedback I get, I may make a whole cloud 101 blog series to complement my cloud experiment blog articles.

Resources

NOTE: I will continue to build out this list as I verify trusted resources to study from.

AWS

Adrian Cantrill

Google Cloud

Antoni Tzavelas

Microsoft Azure

Azure Getting Started Guides

Containers and Kubernetes

Kube Academy

Multiple Technologies (including Hands-On Labs Environments)

A Cloud Guru

QwikLabs

P.S. If you want to check out my AWS on Air session from re:Invent 2021, you can find it here