The cloud native age is upon us. This means not only that infrastructure, application deployment and security strategies look very different than they did just a few years ago, but also that the way companies design and fill IT jobs has changed—or should change, at least, for those seeking to stay relevant in our fast-changing, cloud-centric world.
Which types of new roles are emerging in the cloud-native age? What should employers and employees be doing to make sure that the roles they design and fill meet today’s needs? Keep reading for insight into these questions.
Traditional IT Job Roles
Traditionally, IT job roles have been pretty consistently and clearly defined. They broke down into two main groups.
First, there were developers—who may also have been called software architects, application programmers or software engineers. Whatever the exact job title was, the role centered on designing and writing code.
Second, there were support people. They might have been called sysadmins, tech support, problem analysts or IT Ops. Their roles could include end user support, backend system management or both. In any case, their task list was limited primarily to deploying and managing software that was written by other people.
There are a variety of traditional IT job roles as well, such as business analysts, network engineers and security analysts. But programmers and sysadmins were the two main types of IT positions that virtually every organization filled; the other roles addressed specialist needs that may or may not have been a requirement at a given organization.
The Rise of the DevOps Engineer
The DevOps movement has changed IT job roles a bit over the past decade. Inspired by the DevOps mindset, companies have moved to create roles that blend development and IT Ops together.
This is where the SRE and DevOps engineer roles (for both of which there are hundreds of available positions on Monster.com at the time of this writing) came from.
Yet, although the DevOps movement has spawned the creation of these new roles, it hasn’t killed off traditional IT job titles. People who specialize in just development or IT Ops can still find plenty of jobs.
Cloud-Native Computing and the Future of IT Job Roles
That may not remain the case in the future. As the trend toward cloud-native computing redefines everything about the way applications are designed, deployed and managed, the viability of traditional IT job roles is somewhat in doubt.
To be clear, when I mention cloud native computing, I am referring to the present era in which virtually everything is designed to run by default in the cloud. I’m not suggesting that everything runs in the cloud; that is obviously not the case. What I mean is that we are living in a time when the norm is to deploy in the cloud (often using next-generation infrastructure technologies such as containers or serverless) and conventional on-premises infrastructure has become the exception.
In an age when sophisticated cloud-based deployment environments have emerged as the default, IT job roles need to change. The landscape as it currently exists (where most professionals fall into either the developer or IT Ops camp, and a handful of DevOps engineers or SRE positions help to unite them) no longer works well.
Why? Because in the cloud-native age, it is becoming increasingly difficult to fulfill a job role competently without a meaningful understanding of both application development and IT Ops. And having a few SREs on staff is no longer enough to bridge the gap.
For example, if you want to deploy an application in a container, you’re going to need to know something about scripting and possibly infrastructure-as-code. At the same time, if you are writing application code that will run inside a container, you’ll need an understanding of how containerized infrastructure works, how to break down stateless from stateful components, how to implement communication between microservices and how to handle the unique security challenges associated with containers and microservices.
In other words, it would be pretty hard to write or deploy a secure, well-designed, efficient containerized application without having some mastery of both software development and software administration.
On top of this, cloud-native deployments also often require expertise in areas including software-defined networking or scale-out storage. Unless your company hires engineers who specialize in those specific areas (which is often not realistic or efficient, because the company may not need full-time positions in those niche roles) the rest of your IT staff will need to be able to address this need.
To make things even more challenging, your IT team needs to be able to achieve all of the above while keeping pace with the rapid demands of continuous delivery. Typically there is little time to step back and make a plan for addressing unexpected skills gaps if you don’t have the right roles from the get-go.
Ultimately, what all this means is that we are moving toward a future where IT job roles will increasingly involve a broad mix of diverse skills, and specific specializations will become less common.
That’s not to say that specialist IT job titles will entirely disappear. Some companies will always have a need for people who only do programming, only do system administration or only do software testing, for example. But creating, deploying and managing a cloud-native workload often requires each team member to possess a mix of specific skills that don’t align cleanly with traditional IT job roles.
That’s why companies need to start hiring for this type of role (call it Cloud-Native Engineer, if you like), and IT professionals should begin preparing to fill it.