Cloud deployments -- whether private, public or hybrid -- need high-level IT professionals, such as cloud engineers,...
that can design, plan, deploy, manage and support these complex services. If you're on the hunt for cloud engineering jobs, or just want to advance your cloud engineering skills, it's important to know what prospective employers search for.
Understand cloud engineers' responsibilities
IT pros in cloud engineering jobs are typically responsible for every aspect of a company's cloud initiative. This often involves the conceptualization, planning, design, implementation, optimization, management, troubleshooting and ongoing support of cloud resources, services and applications. A cloud engineer must create an IT environment that can support the scale, flexibility and availability of cloud technologies, while meeting business goals and ensuring governance.
Cloud engineer is usually an umbrella term that can be broken down into more specific roles. For example, a cloud architect is an engineer that focuses on the planning and design of cloud resources and services, while a cloud security engineer focuses on the security and compliance aspects. So a cloud engineer job description can change from enterprise to enterprise. For this discussion, we'll embrace the entire spectrum of roles as a single umbrella term.
IT pros in cloud engineering jobs for an infrastructure-as-a-service-based business are responsible for:
- The concept: A cloud engineer needs to see a business opportunity or benefit in a cloud service or application. This early phase of a project often involves input and discussion with senior business management.
- Planning and design: The cloud engineer architects the technical approach an organization will take toward cloud deployment. This involves an assessment of existing infrastructure, and then creating a design that details the actual hardware, networking gear and architecture, software requirements and other tangible elements needed to make the initiative a reality. Cloud architects generally emphasize this phase of cloud engineering.
- Deployment, optimization and management: The cloud engineer implements the cloud resources or services, which involves the installation and configuration of hardware and software. A cloud engineer will then typically optimize the deployment to guarantee adequate performance and corporate governance. The cloud engineer will also integrate the new cloud resources and services into existing management tools to monitor and report on availability, performance, lifecycle status and other criteria.
- Troubleshooting and support: Cloud engineers need to keep cloud resources available. This means they have to monitor the cloud environment, receive reports and alerts, take proactive steps to improve performance and react quickly to any problems. Engineers also run periodic audits to ensure service-level agreement compliance, as well as overall performance and availability.
No one-size-fits-all cloud engineer
The basic concepts of cloud computing are not new, but the services, infrastructure and code needed to operate a cloud evolve and expand quickly. This means there is no single, clearly established cloud engineer job description. The definition and demands of cloud engineering vary between organizations and business goals. Even if you haven't been a cloud engineer before, an experienced IT professional with a proven record of successful projects and on-the-job learning may already possess many of the skills needed for success in this demanding senior role.
Education and experience
There is currently no single, recognized path to cloud engineering jobs; some IT pros start on the hardware side while others start on the software side. Some prospective employers expect a cloud engineer to have three to five years of experience with cloud services, while other employers look for five to seven years of expertise. When it comes to fast-moving technologies like cloud, a well-proven scope of experience can be more meaningful to an employer than a candidate's formal education.
However, a cloud engineer is typically expected to have a college degree such as a Bachelor's degree in IT, computer science or a related discipline. Advanced degrees are rarely required, but can potentially help a prospective candidate to stand out from competitors.
A cloud engineer can also benefit from a variety of industry-recognized certifications, such as Cisco's CCNA Cloud or the advanced CCIE Data Center certifications, certification in the ISO/IEC 27000 family of security standards, public cloud certifications like AWS Certified Solutions Architect and others.
Core technical skill set
The core skills required for cloud engineering jobs are usually grouped into four main areas: hardware, software, management and development.
Cloud engineers need extensive knowledge of IT hardware, including enterprise-class servers, storage subsystems and network gear. It is crucial that the cloud infrastructure and underlying software achieves peak performance and availability. To ensure this, engineers need to architect and implement availability and resiliency features, such as high-availability, failover, disaster recovery, load balancing and scaling across active-active or multi-homed data centers.
Software knowledge involves extensive experience with the installation, configuration and maintenance of major operating systems like Windows Server 2016 and Red Hat Enterprise Linux. Virtualization is a key enabling technology for cloud, so cloud engineers need expertise with hypervisors like VMware vSphere/ESXi 6.5 or Linux kernel-based virtual machine, also known as KVM. Cloud implementation requires a comprehensive software stack to handle automation, orchestration and self-service, so cloud engineers also need thorough knowledge of cloud software such as OpenStack.
Cloud engineering jobs demand expertise in management and monitoring tools, such as Microsoft System Center, as well as varied automation tools such as PowerShell, Puppet and Chef. Cloud engineers with security responsibilities will require thorough understanding of security principles and enterprise best practices.
Although cloud engineers are rarely software developers, a cloud is often the preferred foundation for an organization's software development projects. This means cloud engineers are usually involved in software development. This demands some level of crossover skills in software and web design using popular languages such as Java, Python and Ruby. Software almost always connects with other services, so the cloud engineer must also understand public cloud services such as Amazon Web Services, Rackspace, Google Compute Platform, Microsoft Azure, Docker and their respective APIs.
Finally, candidates need more than just technical chops to land a cloud engineering job. They must be masters of detail, organization and communication, and be able to interact with diverse operations, developer and senior management teams.
Start your cloud computing career today
Track the changes in the cloud developer's role
Three skills to add to your cloud resume in 2017