It has been predicted that “cloud engineer” will be among the top ten in-demand IT jobs in 2020. There is currently a great need for cloud engineers, primarily because a significant number of organizations are moving their business processes to the cloud. As more organizations shift to cloud data storage, the demand for cloud engineers continues to grow.
Hybrid cloud combinations (a mix of private and public cloud storage) require cloud engineers to build, link, and maintain cloud systems. David Richards, the CEO and Founder of WANdisco, said:
“Cloud development is the most in-demand skill in 2019, in large part because of the increased demand. Cloud development skills are in most cases as easy or as difficult to learn as the corresponding on-premise technology stack, and in many cases, there is significant overlap between the two. Today’s resource demand is caused by the growing gap between the supply of experienced cloud resources and the rapid enterprise adoption of Cloud platforms.”
Requirements of Cloud Engineering Positions
A cloud engineer must have experience using cloud computing software. The basic requirements for this position include work experience and a degree in a related field, typically a bachelor’s degree in management information systems or computer science. Additional certifications may be needed for a specific position, but broadly speaking, a cloud engineer can be described as an IT professional who is responsible for technological maintenance and improvements within the cloud. More specifically, there are three basic types of cloud engineers. In a small organization, one person may be responsible for all three positions:
- Cloud Architect: A cloud architect is responsible for overseeing an organization’s cloud computing strategy, including application design, management, and monitoring. Cloud architects integrate tools and services for all areas of cloud computing, such as data and networks.
- Cloud Software Engineer: A cloud software engineer develops software that is designed to work in cloud computing systems and is responsible for overseeing the development and maintenance of these systems.
- Cloud Security Engineer: Security includes control-based technologies and policies that have been designed to support regulatory compliance rules. The primary goal is to protect information, data, data applications, and the infrastructure used when working with the cloud.
Clouds can be broken down into four models: private, public, hybrid, and multi-clouds.
A private cloud is developed and managed by an individual organization. A private cloud may be built using resources and an infrastructure that already exist or created using a new and separate infrastructure. As long as the organization owns and operates it – and isn’t renting out services – it is a private cloud.
A public cloud, on the other hand, exists when an independent provider such as Cloudera or Amazon Web Services (AWS) owns and operates computer resources which customers can access through the internet. Users of public clouds rent and share these resources. Typically, these resources are more abundant, faster, and have more memory than private clouds. Additionally, there are no maintenance costs and very little “accidental” downtime. (Clients should not have to pay for “accidental” downtime, unless of course, it is their fault.)
A hybrid cloud exists when a private cloud is connected with a public cloud infrastructure. This allows an organization to coordinate workloads between two environments. The public cloud, in effect, is used by the private cloud as an extension and should function as a single, uniform cloud. A hybrid cloud requires significant compatibility between the services and software being used by both cloud systems.
Turning Experience into a Certificate
If an individual has the skills but lacks a paper trail supporting that experience, Google has a test and a certificate waiting. The test takes two hours and requires finding a testing center. The exam is designed to objectively measure a person’s ability to perform the critical skills needed for working with clouds. Those who pass the test become a Google Certified Associate Cloud Engineer. The exam’s format is multiple choice and it has no prerequisites. An outline of the exam is available, and Google’s documentation page might be a useful study resource.
The importance of hands-on experience for this position cannot be overstated. People new to the field will, of course, lack experience – the single most important qualification for the job. In terms of gaining experience for a cloud engineer’s position, a bachelor’s degree in computer science can go a long way. An alternative to a traditional education is offered on the internet, with online classes.
Learning a programming language or two such as Java, Python, or C++ would be a good place to begin acquiring skills for working with the cloud.
Many organizations are developing hybrid clouds, and experience working with clouds-as-a-service could be a significant advantage. AWS offers some free courses, though some require a registration fee. Microsoft offers paid-for test certifications and a few classes.
Choosing Useful Skills
In terms of selecting the skills and experience needed for the position of cloud engineer, the applicant must consider what will actually be needed. Different organizations use different clouds and different hybrid combinations. It would be exceptionally time-consuming to learn all the skills a cloud engineer might use. Ideally, the applicant will be coordinating with a startup business and selecting courses specific to the organization’s computer system and arrangements.
However, if the job and training cannot be coordinated in advance, then the best bet is to favor the skills that seem to be the most popular with employers, while following the trends. The following list of skills and their popularity suggests where an applicant should place their learning priorities:
- Python: Python is the fastest growing programming language and is used by many cloud platforms.
- Amazon Web Services: AWS was the first to offer affordable cloud services and continues on as the largest cloud service on the market. A familiarity with AWS is considered one of the top skills employers are currently seeking.
- Azure: Microsoft’s Azure is gaining in popularity as one of the primary cloud infrastructure platforms available.
- Java: Hadoop runs on Java and it is quite popular. A recent shift in its evolution may make it even more cloud-friendly.
- Agile: An IBM product that has become quite popular in recent years, Agile is described as “project management made easy.”
- Puppet: Puppet offers automation for AWS (a time saver) and is used in DevOps environments.
- Ansible: Ansible is an open source centralized server management system, which helps with cloud deployments.
- Chef: Also used in DevOps, Chef provides enterprise-wide analytics with its Automate tool.
- Docker: Docker is a containerization technology, an open source utility that can transport functioning software programs within the container.
- VMware: VMware provides a platform for virtualization software, cloud computing, and a number of services used by many organizations. The company is in partnership with AWS.
- Hadoop: It is used in most cloud systems and, though written in Java, can be set up to work with C++, Python, PHP, C#, Cocoa, Smalltalk, Ruby, Erlang, Perl, Haskell, or Ocaml.
The Interview Questions
Typical interview questions for a cloud engineer can provide some insights on the experience needed. Questions a cloud engineer might be asked include:
- Please provide an example of a time when you worked with other IT team members to solve a cloud-based problem.
- What are some of the security issues you’ve dealt with in the cloud?
- What kind of cloud projects have you worked on?
- Which web tools are you especially good with? Which are your favorites, and why?
Image used under license from Shutterstock.com