Viktor - Fotolia
Evolving DevOps roles demand Kubernetes, CI/CD skills
The rapid rate of change in IT coupled with the newness of many DevOps practices and technologies creates barriers for those who seek a career in DevOps. These skills can open the door.
DevOps began in 2009 as a concept for collaboration. In the ensuing decade, DevOps has moved from concept to a general methodology shared by developers and operations teams to an approach with narrowly defined roles, unique requirements and set expectations.
But the expectations for someone in a DevOps role vary broadly across the industry. Advancements in technology and best practices make qualification for a DevOps role, such as a DevOps engineer or administrator, a moving target. And when the evolution of DevOps moves at a breakneck pace, sometimes skilled job seekers are left behind.
What responsibilities come with a DevOps job?
To date, most organizations require a degree in computer science or a related field -- although concessions for related experience, rather than higher education, have become more commonplace. The core responsibilities of a DevOps professional have held steady since the practice was coined: continuous integration and continuous delivery (CI/CD), some coding and scripting work, and knowledge of quality assurance (QA) and IT operations. Experience with infrastructure and cloud management, networking, release management and workflow automation have also been, and still are, desirable.
Working in a DevOps organization requires tight collaboration between developers, IT operations, the QA team and key business leaders. DevOps job titles have largely settled on DevOps engineer to encompass development and infrastructure work. A broad skill set -- including soft skills, like communication and organization -- makes for a good DevOps team member. While it's not required for IT operations pros to have worked as a developer, coding and software design skills position a job applicant to succeed.
The evolution of DevOps job descriptions
The tools and technologies that DevOps engineer job listings call for are, in many cases, brand new for companies. Modern containerization and distributed application and system architectures are still emerging and maturing. Experience with these distributed architectures is in widespread demand. The ongoing phasing out of physical data centers with VM-based workload virtualization in favor of cloud operations has shifted demand from hypervisor experience to work with containers. Additionally, serverless technology is still growing, and is likely to play an important role in future IT production environments.
For those new to a DevOps role, build up a valuable skill set in containers, microservices, Kubernetes, cloud-native apps, serverless and related fields that will be relevant for years to come.
Kubernetes, for example, has risen rapidly to dominate the container management space; it's now the de facto orchestrator to which vendors have ceded and incorporated into their products. Docker Inc., for example, rose to fame in the early days of the container market, but its native orchestrator, Swarm, fell behind Kubernetes. Now DevOps job listings highlight Kubernetes experience instead of just Docker container experience, which is a notable transition in container maturity.
CI/CD and cloud integral to DevOps role
One IT hiring manager, who requested anonymity, is seeking a senior DevOps engineer who can better mesh and foster collaboration between disparate IT teams, and also has the expertise to create a more fluid CI/CD pipeline.
The manager's organization has been operating with two different CI/CD pipelines that are, in many ways, siloed; the application development team uses Jenkins, but the IT operations team uses Ansible. A dedicated DevOps engineer will be tasked to merge these pipelines together with a long-term goal of a single tool set. This reduces tool maintenance and shadow IT -- as well as the likelihood that vital tool knowledge will vanish with the departure of a given employee.
A transition to cloud hosting also presents challenges to someone entering a DevOps role, because the infrastructure management and application deployment processes are different than conventional approaches. For example, if IT needed a load balancer in the past, someone purchased and installed it; now, the load balancer is part of the application or hosting environment. This infrastructure setup turns established procedure on its head.
These skills and expertise are relatively new in the IT job market overall, which means suitable candidates for DevOps roles can be hard to find. People who want to follow a DevOps career progression, especially those who work in organizations that operate legacy applications and little to no cloud operations, also find CI/CD and distributed system expertise hard to develop.
DIY DevOps skills
It can be difficult to branch out of a particular role in a non-DevOps workflow and get into DevOps teams. There's rarely sufficient time or opportunity for an IT ops admin to learn coding skills, for example, or for a developer to pick up experience deploying releases or managing infrastructure.
But many vendors -- such as Red Hat, AWS and Microsoft -- offer courses and certifications for an array of code languages and IT processes and methodologies. Additional learning opportunities are available via Udemy and EdX. IT pros can practice these skills in home labs to demonstrate to DevOps leaders that they take these practices seriously and are motivated to improve not only themselves, but organizational practices related to application delivery and deployment pipelines.
Identify DevOps-leaning practices in your current job and work with management to both smooth them out and expand the list; demonstrating DevOps leadership in a non-DevOps workflow shows flexibility and growth, and pivots not only the IT team, but the whole business, toward greater success.
IT is business
Another distinguishing characteristic for DevOps roles is an ability to understand the business problem over -- or before -- the technology problem.
That focus on business needs and goals -- and the fact that they take precedence over technological interests -- can cause a lot of hang-ups for those new to DevOps. IT must function as a business driver rather than solely a system of support. Professionals with experience outside of IT have an edge on those without in this area.
The future of DevOps roles
The COVID-19 pandemic disrupted all aspects of life globally, starting in 2020. Organizations must push to recover and move forward sustainably, safely and productively. DevOps isn't contained in a bubble; this global disruption will have a tangible effect on what DevOps roles look like in the future.
Cloud services adoption skyrocketed during the shift to remote and distributed work. As SaaS and IaaS products become more widely adopted, demand for cloud management skills rises. With this increased emphasis on cloud infrastructure, find ways to run trial cloud deployments and learn about serverless technologies, functions as a service and AI.
The pandemic's disruption also highlights a heightened threat to cybersecurity. Learn and integrate security knowledge and skills into your portfolio. It's not just about external threats, such as denial of service attacks or phishing scams, but also about internal data retention and even controlled versus uncontrolled devices and networks from various remote-working configurations. DevOps engineers on development teams should make security part of the base code, and those on the IT operations side should focus on security monitoring and remediation.
Site reliability engineering is another path that experts expect to gain traction in the evolution of DevOps roles. While site reliability engineers and DevOps engineers differ in their focus and methodology, they share many responsibilities and tasks. DevOps engineers should highlight SRE knowledge as a vital aspect of career advancement.