More and more, companies are moving their critical IT infrastructure to cloud-based environments. The reasons are pretty straight forward. Cloud-based computing allows employees to work from anywhere, increases collaboration, and centralizes software and security updates to name just a few. With all the benefits of cloud computing, it's no wonder companies are moving in this direction. And with this shift comes a need for employees who have the skills to help.
LinkedIn recently published a list of the skills companies need most by using LinkedIn data and survey results. It's no surprise that cloud computing is tops on the list of the hard skills companies are looking for.
In short, cloud computing involves storing data and running applications over the internet through your browser. This might be email, banking, gaming, social media, etc.
As you probably know already, cloud computing is a big deal. Businesses continue to use it to offer customers a wide range of online services. There are three categories of cloud computing that companies use.
Infrastructure as a Service (IaaS) refers to the providing of instant computing infrastructure that is managed over the internet. This type of service allows companies to gain quick access to the resources needed to build out services and technologies delivered over the cloud. IaaS companies include Amazon, Rackspace, Google, and many others. IaaS companies manage the hardware so their clients don’t have to.
PaaS stands for "Platform as a Service." It refers to cloud-based platform services like operating systems, databases, programming language execution environments, etc. PaaS provides the framework that is accessible to multiple developers to build custom software upon.
SaaS, or Software as a Service, is the most known of the three categories of cloud computing. SaaS is the actual software delivered to the user over the internet. It doesn't need to be downloaded and installed on individual devices in order to be used by an individual, team, or company which makes it easy to use and highly scalable. Google Apps, Dropbox, and DocuSign are SaaS examples.
If you're at the beginning of your career and considering something associated with cloud technologies, it's important to know some of the more common jobs in the field. Common jobs include Cloud Architect, Cloud Engineer, Cloud Application Engineer, Cloud Consultant, and Cloud Security. Researching these positions using Google or a job board like Indeed or Dice is a good way to understand what is needed with regards to experience and knowledge.
Development in a cloud computing environment has added another dimension to the process. Developers are now able to build and deploy applications that scale and take full advantage of the cloud's capabilities. Languages like Perl, Java, Python, Ruby on Rails, PHP, .NET, and Java are the ones to know.
The amount of data created by an ever-advancing world is staggering. Just about everything you do on your phone or computer creates data. Every purchase in every store creates data. Watching Netflix or Hulu creates data. Even taking a walk, if you have your phone with you, creates data if you have the location setting turned on.
With all this data, companies need a way to store, manage, access, and interpret the data. And since most of it is stored on cloud platforms, cloud engineers are the ones to do it. As a result, knowing the SQL standard, which is the foundation for many query languages, is important. But also knowing some of the common database technologies like Hadoop, MongoDB, and MySql is important as well. You can find a comprehensive list of the top cloud databases here.
(Learn more about our clients and current cloud engineering openings)
Having general knowledge about “computer systems” engineering is another strong skill to have. Understanding operating systems, virtualization concepts in compute (e.g. hypervisors, containers), networking (DNS, load balancing, software defined networking), storage (block vs. object), global and regional deployment strategies, etc. will make you a well rounded cloud engineer.
Developmental Operations is not exclusive to cloud computing, but it has become the central methodology for software development in a cloud computing environment. DevOps is a methodology that takes the entire software lifecycle into account including planning, use, and maintenance and is a must-know methodology for anyone involved with cloud computing.
Rather than go into the details of all that DevOps entails, here are a few sources and online courses that will teach you everything you need to know about DevOps. Some of them do cost money.
Lynda.com offers a great video course on DevOps.
Microsoft’s Azure is a popular cloud computing platform. They have some good online training for DevOps.
Microsoft DevOps Courses
Amazon Web Services (AWS) is a competitor to Microsoft’s Azure and popular in its own right. Amazon offers some very good DevOps courses as well.
Amazon DevOps Courses
Learning Tree also has some great DevOps training and certifications.
Learning Tree DevOps Training and Certifications
Linux Academy offers comprehensive DevOps courses and certifications.
DevOps Certification Training
There are many other types of online DevOps training available online. A few Google searches should give you more than you know what to do with.
A quick scan of the Cloud Engineering positions we’ve received from our clients over the last year show that more and more of them mention Quality Assurance in the job description. QA is quickly going from a “nice to have” in a cloud job candidate to a “must have.”
As you can imagine, securely hosting critical and often sensitive data in remote locations to be accessed by users potentially around the world is a monumental challenge. In fact, if the activities involved with cloud computing aren’t secure, then cloud computing not only can’t function, but it can cause a tremendous amount of damage as we have seen with a number of data breaches over the years.
The end result is that companies place significant value on candidates who have experience and/or certifications associated with security including the following:
Technology changes quickly, however there are a few things that are especially in demand for cloud engineering candidates.
The use of virtualization technologies is one of the most significant ways for organizations to reduce IT costs and increase efficiencies. Virtualization can apply to several different areas of IT. However, the areas that are currently most in demand relate to computing, storage, and network virtualization.
Data Center Design
Infrastructure and layout are key to the performance of any “cloud” data center. And with cloud services on the rise, performance is more important than ever at these data centers. As a result, employees that understand data center design and architecture are in high demand.
Cloud applications usually consist of individually containerized components. Orchestration engines are used to get these components to work together on the networking level so that the application runs properly. In demand orchestration engines include Kubernetes, OpenShift, and Docker Swarm.
Cloud Platform Certifications
The big three that are in high demand are Google Cloud Platform (GCP), Amazon Web Services (AWS), and Azure, which is Microsoft’s offering.
So what type of person makes for a good cloud engineer? It’s a broad question but there are certain traits a person should possess to be a successful cloud engineer.
Strong Technical Skills
This refers to the abilities and knowledge needed to perform specific technical tasks. Technical skills are hands on and not theoretical and often refer to knowledge of programming languages and platforms. You will find plenty of links to great online training throughout this page.
Are you good at using reasoning and analysis to solve business problems? That’s one of the key traits of a successful cloud engineer. The Business Analyst's Tool Kit offers 3 ways to improving your business problem solving skills.
Defined as a desire for knowledge that motivates individuals to learn new ideas, eliminate information-gaps, and solve intellectual problems, intellectual curiosity is a huge asset for anyone in a cloud computing profession. You can develop intellectual curiosity by putting your ego aside and listening to ideas and opinions that may not align with yours, by constantly ask questions the start with who, what, why, how, and when, and by reading books or magazines that are outside of your realm of knowledge.
Good Cloud Engineers, as with most types of engineers, need to be highly organized. It’s simply a necessary part of the job. So, if being organized is not one of your strengths, here are some tips that will help.
There are many types of certifications that can be earned in the cloud computing space, but these are the most valuable according to CIO.
Floretine, Sharon. “The Most Valuable Cloud Computing Certifications Today.” CIO
Accessed 11 August 2018.
There are many online and in-person training courses related to every area of cloud computing. Do some research, find the best one for you, and enroll.
(Read The 8 Best Places to Learn Cloud Computing)
Hackathons are not only great for networking (the human type), but they are great places to learn and to sharpen your engineering skills. They usually last several days and include large numbers of people working in teams to build the latest and greatest application or piece of technology. There is likely one in your area and are a lot of fun to attend. They are also a great place to get lots of free swag.
There are dozens of cloud computing conferences around the world every year. Do a search on your city for “cloud computing conference” to find one nearby. Then sign up and attend. You will meet many other cloud engineers and be able to talk to a large number of vendors about their products.
There’s no better way to develop a skill than to actually do it. And GitHub is a great place for Cloud Engineers to do just that. Here’s a great article on how to get started.
GitHub is also a great way for you to share your work with others, including prospective employers. You can provide links to your work in your resume and LinkedIn profile for easy access.
A driving factor in the continuing adoption and evolution of cloud computing has been technology professionals seeking to reduce the burden of housing and upkeep of in-house hardware and networking equipment. Limiting outages and keeping software running is also a factor. These advantages continue to drive the use of cloud services, and as a result, the demand for cloud engineers. So, with a little planning, education, and effort, you can be well on your way to a successful Cloud Engineering career.