Aws
Mindset
Python
28 May 24

How To Get A Cloud Job With ZERO Experience

If you’re looking to get your first job in the cloud industry and want to know exactly what technologies you need to learn to be successful then you're in the right place.

I’m going to walk you through what technologies you need to learn, and provide context on WHY it's important to learn them.

This roadmap will help you develop the skills that employers are looking for, making you a dream candidate.

Linux Command Line

The first technology you need to learn is not AWS, Azure or any other cloud platform. This technology is essential to the majority of tasks you will perform in a cloud role and if you don’t learn this you will be at a disadvantage as most cloud jobs require it.

I am referring to the Linux Operating System, specifically, knowing how to navigate the Linux terminal.

Now, you must be wondering why learning Linux is so important.

It is estimated that roughly 90% of all cloud workloads run on Linux which means it is the most dominant operating system out there.

There is a really simple reason why Linux is so dominant, and that reason is purely down to cost.

Linux is an Open Source Operating System, which means it is free to download and run on virtual machines as opposed to an operating system like Windows that has expensive licensing costs.

There is another reason related to cost why the Linux Operating System dominates the cloud platforms, and this is a lot more subtle than you might imagine.

When you use a Windows operating system it usually comes with a graphical user interface or GUI if you’re fancy.

To power this GUI requires a lot of CPU and memory resources. 

However when you run Linux all you need is a terminal where you can run commands without the need for a GUI. 

This means that Linux instances require a lot less CPU and memory resources to run successfully.

This is an issue because when you move to the cloud and spin up a virtual machine you are billed based on how much CPU and memory you provision for your virtual machine.

Which means, by choosing Linux over Windows you are significantly reducing your cloud bill. This adds up when you have dozens or even hundreds of virtual machines running.

You can understand why companies choose to go with Linux over Windows.

Why Should I learn Linux?

Linux is the scaffolding you need to have in place before you can work with more advanced technologies like CICD and Docker.

What exactly does this mean?

It means that a lot of more advanced technologies are configured or managed using Linux terminal commands. For example, if you create CICD pipelines, you will most likely use Linux commands to write and build the deployment scripts, the same is true for Docker and other technologies.

Make sure you feel confident with the Linux command line before proceeding.

Cloud Platform

it’s important that we cover cloud platforms before moving on to more advanced topics.

The next technology you need to learn to be successful in the cloud industry is the cloud platform you are interested in. For this blog let's use AWS as our example.

You need to understand how that platform works and start building projects on that cloud. For example projects that use EC2, RDS, VPC, S3 as these are the most common services used on AWS.

It is important to start building basic projects, for you to get familiar with the cloud console, interface and services.

After you get some basic cloud projects under your belt there is one sure fire way to take those projects to the next level.

Infrastructure As Code

The best way to elevate your basic project is to script the creation of those resources using infrastructure as code or I.A.C. 

Anyone can create simple projects using the AWS console, which means to stand out from all the other job applicants, you have to show that you can automate the creation and deployment of cloud resources using I.A.C.

Each cloud provider has it's own Infrastructure as code tool, AWS has Cloudformation, Azure has Azure Resource Manager or ARM

Which tool do I recommend you learn?

I recommend that cloud beginners learn Terraform.

This is because Terraform is cloud agnostic, which means that you can use it on all cloud providers. 

It is quickly becoming the industry standard so learning it will definitely put you ahead of those who don't.

I want to point out one major benefit I.A.C has over simply deploying resources using the AWS console.

And that is that when you script your infrastructure, it makes it quicker and easier to recreate those resources.

For example, if for some reason your account gets hacked and all your resources get deleted, you can simply re-run the terraform script and it will automatically recreate all the resources you lost quickly and easily.

Let me give you another scenario where scripted infrastructure comes in useful.

Let's assume you have currently deployed all your resources in the Ireland region, but your company starts growing in the United states and you want to replicate your resources in the US to be closer to your customers and reduce latency.

If you had deployed all those resources manually then it could take a lot of time to map out all the resources that exist, and when you redeploy the application there is a high chance of human error happening where you forget to deploy certain resources, or you fail to update certain permissions to allow resources to talk to each other.

But if you have all those resources terraformed, then all you need to do is update some parameters and all your resources will be deployed in the new region quickly, easily and with minimal mistakes.

Once you’ve learnt the basics of terraform and feel confident using it, then I recommend you move on to the next technology.

CICD

After you learn Terraform it’s time to take your automation skills to the next level.

The next technology we are going to talk about is essential to deploying applications to cloud resources in a streamlined and automated way.

That's right, the next technology you need to learn is Continuous Integration and Continuous Deployment, or CICD as it’s more commonly known.

CICD plays an important role in modern tech stacks because it makes the deployment of application and infrastructure resources more automated. 

Back in the old days, if you wanted to update an application on a server, you would have to S.S.H to the server and manually change the different code files. This process was very time consuming and was also prone to error, for example if you have to update 20 files on 20 servers, it would be easy to accidentally change the wrong file which could lead to issues.

With CICD you now have access to a streamlined deployment process and less opportunities for human error that comes with manual deployment

It also leads to faster deployment cycles as development teams can test application changes in test environments that reflect what production looks like earlier in the development process

And finally, it leads to improved security as applications can be scanned and tested before being deployed to the production workload

If you can demonstrate to potential employers that you are comfortable creating and managing CICD pipelines you will definitely be at an advantage over other candidates who haven't developed these skills. 

Python

At Cloud Career Mentor, one of the questions we get asked the most from cloud beginners is this:

“Do I need to learn programming to get my first job in the cloud?”

And the answer to that is Yes.

The reality is that the cloud industry is very competitive to get into and your goal as a candidate is to try to stand out from the competition.

This means that you should be willing to do what other candidates are not.

If other candidates are too scared to learn programming, then this means that you should definitely learn how to program because this skill will help you to stand out from everyone else.

A big part of cloud jobs are all about automation and if you can demonstrate to employers that you can use a language like Python to script and automate processes then employers will be more likely to hire you than a candidate that can’t program 

The reality is that learning how to program is simple. You just need the right learning materials.

In fact learning all these technologies can be easy with the right resources.

I can already hear your next question…

Where can you go to learn AWS, Linux, Terraform, CICD, and Python in an easy to understand and well structured way?

All you need to do is go to cloudcareermentor.com and sign up to our program where you will learn how to create high quality projects in all the technologies we’ve talked about today.

Head to the website and sign up now to get started.