hello avatars, celt here for a free post today on the skills needed for cloud engineering. I have gotten this question a couple times so figure a free post is needed. if you want to be a cloud engineer its important to know what skills you need so you can get this six figure job.
also, i am filling a open req on my team which means im in resume review mode (again) unfortunately. looking to review a couple resumes for people looking to get jobs in the cloud world. feel free to email me your resume at bowtiedcelt@protonmail.com, and ill reach out to you if i select yours for review.
Table of Contents:
I. Introduction to skills needed for cloud engineering
Definition of cloud engineering
Role of cloud engineers in organizations
Importance of cloud engineering skills in the modern workplace
II. Technical skills
Experience with popular cloud providers (AWS, Azure, GCP, IBM Cloud, Oracle Cloud)
Proficiency in core cloud-based technologies and services (e.g. EC2, S3, VPC, ECS, RDS, Lambda, CloudFormation)
Knowledge of cloud architecture design principles (reliability, scalability, security, performance, cost optimization)
Experience with programming languages and development tools commonly used in the cloud (e.g. Python, Java, Git, CI/CD)
Fundamental of operating systems (mostly linux)
Understanding of networking and security concepts
III. Soft skills
Strong communication and collaboration skills
Ability to work in a team environment
Problem-solving and critical thinking skills
Ability to adapt to new technologies and learn quickly
Good project management skills
IV. Industry-specific skills
Knowledge of specific regulations and compliance requirements (e.g. HIPAA, PCI DSS)
Familiarity with industry-specific technologies and tools (e.g. medical record systems, financial software)
V. Conclusion
The importance of continuously learning and improving cloud engineering skills
The role of cloud engineering skills in career advancement and success in the field of cloud computing
I. Introduction to skills needed for cloud engineering
cloud engineering can be a large organization, often including different roles like SRE/Platform, DevOps, architecture, and more. We will focus on core foundational skills.
Definition: a cloud engineer designs, implements, and operates applications in the cloud. designing includes systems design and architecture.
Design: Often times at a enterprise this would include working with security teams and putting the design for review by technology leadership. Enterprises are going to have collections of design patterns, which are like building blocks, and leverage those approved patterns to build an application. Additionally, at the design phase you want to make sure your architecture is following the design pillars and keeps costs under control.
Turbo Note: the 6th pillar sustainability is basically just for ESG virtue signaling, never heard anyone mention it in the hundreds of architecture review calls ive been on.
Implement: this includes building and and configuring the infrastructure needed to run the applications. in modern times firms are using Infrastructure as Code tools like Terraform or AWS Cloud Formation to further invest in automation. Implementation also usually includes testing and piloting before releasing to production
Operating: after releasing to production the application must be monitored and enhanced. Monitoring ensures reliability and customer experience. enhancements the continued development, bug fixes, etc.
Why are cloud engineers important? on-prem is going extinct. you dont want to be on the wrong side of that curve. cloud engineers have a more wide breadth of skills across a cloud environment including development, administration, and design which allow the role to be more cross-functional.
II. Technical skills
The big 3 foundations you need for a cloud career are networking, operating systems, and coding.
Networking: you need to understand the OSI model, what protocols are used at each layer, the basics of encryption, high level network architecture. In terms of network architecture knowing how to connect on-prem to cloud, how to communicate intra-cloud, and inter-cloud providers are also good to know at a high level. Lots of good free resources and books. Networking protocols have not changed that much over the decades. Favorite video for learning networking:
Operating Systems: most important here is linux, obviously. if you are going for a windows job know that too, but usually most will only care about linux as thats probably what 80% of applications run on. Understanding the basics of the terminal, including the common commands is good to know. Additional knowledge on how to run, operate, and debug processes is another need to know. I notice some people really like asking questions in the linux space about commands and such. you will not need to go that deep, but some fundamental operating system knowledge will come into play for architecture and design work. Favorite book for linux: this one by linux legend Greg Kroah-Hartman. Second one for learning the basic commands is this one and of course there are a plethora of free resources like this one:
coding: cloud engineers are typically different than backend development engineers. Typically a decent understanding of data structures, algorithms and OOP should get you past the bar. of course this can vary company by company. cloud engineers typically work in scripting languages like python or even bash/shell. No shortage of resources for learning python, my favorite video here:
In terms of data structures and algorithms my favorite video is here:
Having a general understanding of CI/CD tools like Jenkins, GitHub Actions, or GitLab is also good. Sometimes cloud engineers work heavily in the CI/CD and automation space. This gets sort of tool specific, so find a resource for whichever tool is in the job description.
git: i am always surprised by how little people know about git. universities are probably to blame. git is used in most companies. some big tech companies have their own version control system solution due to unique needs, like palantir. dont bother with subversion, if they still use it, dont work there.
Turbo Note: This is often because git is implemented such that an entire code history must be downloaded as part of the tool. So for old projects with lots of history and huge code bases, just cloning the repo can fry a computer.
cloud platform and core services: whichever is the primary cloud provider of the company you want to apply to. It is easiest to recommend aws as it is the most widely used and best to learn if you are not sure. cloud providers have certifications to prove you have some level of understanding on the platform and services. of course they dont guarantee a job, or even mean that much. depends on the specifics, but having one or two is as plus. additionally you want to understand the core services that would come up in the role, EC2, Lambda, RDS, etc are essential to know at a high level. Do not waste your time on cloud platforms like IBM, Oracle, or others, simply not worth the time investment.
III. Soft skills
I dont want to spend too much time on this section because no one should be failing interviews because of their soft skills. if you are, i dont know if i can help you.
Any technology position is going to need critical thinking and problem solving. The ability to break problems down into smaller problems and clearly articulate your logic are paramount.
Second you want to show you can learn new things quickly. we work in technology new things are always popping up and you need to be able to learn something quickly. generally this relies on the fundamentals and groundwork you have built, so take the fundamentals seriously. one or two certifications should check this box.
the rest like working in a team collaboratively and project management dont really matter. everyone should have these. for the love of god please do not write any soft skills on your resume, that is great signal, you dont have them. at that point i assume you dont have any relevant skills to fill the page.
IV. Industry-specific skills
domain knowledge. always important and why experience is so sought after. different industries have key regulations, like HIPAA or SOX. just know regulations and constraints exist are a good start. its hard to get these skills without years of experience.
the rest of domain knowledge can break down into certain spaces, for example knowledge on how trading systems (latency and reliability are most important) or how systems in a certain space are created, meaning what key factors are most important to optimize and the general design patterns to build those systems. Why machine learning infrastructure engineers are so heavily sought after. the requirements for ML clusters are more esoteric and thus the compensations for these gurus tends to be extreme. another example is the trading systems which need to be low latency and reliable. one example here is people think that trading systems could be implemented in python. you simply wont find this, when latency matters this much you need to minimize execution time and maximize performance, thus C/C++ is the answer. May find some written in rust, but this goes beyond my expertise.
V. Conclusion
as almost all companies move to the cloud, cloud skills are needed for engineers. dont be on the wrong side of the curve and learn your fundamental cloud skills. cloud engineering is a pathway to a six figure+ job that is attainable for most. of course the best place to learn these skills is my substack. consider converting to paid where i dive into lesser known AWS topics that often come up in my architecture reviews. these meetings are usually closed to anyone below the staff level, so a lot of this knowledge is closely guarded and can accelerate your career. this substack is only possible with the support of my cloud frends.