I recently tweeted this:
Let's dive into why I think this is the case.
The Youth of Cloud Computing
Cloud computing, in the grand scheme of things, is relatively young, having become mainstream just about a decade ago. The dedicated cloud engineer role seems to have been a steppingstone, allowing other roles to catch up with this emerging technology.
It's been a somewhat generic or catch-all title. If you take a look at job listings on platforms like Indeed or LinkedIn, you'll notice a significant variation in what constitutes a cloud engineer's role. The industry hasn't had enough time to standardize the role and I believe it won't ever.
With the current hiring market (Jan 2024) and particularly with AI advancements, there's less room for generalists.
The Enduring Importance of Ops Roles
Despite the shifting landscape, the importance of operations roles remains constant. These roles, including system administrators and operations specialists, are already adapting to include elements of cloud engineering. They're handling systems that are a mix of cloud, hybrid, and on-premises. The foundational skills of Linux, networking, scripting (or programming), and security are timeless and applicable across all deployment types.
Similarly, other operational roles like Site Reliability Engineering (SRE) and DevOps, which predate the cloud era, are increasingly integrating cloud engineering skills. Some are even evolving into what might be called Platform Engineering, a concept I'll explore more in the future.
Long live the sysadmin!
Software Engineering and Cloud Integration
A trend in software engineering job listings is the growing emphasis on skills related to microservices, containers, and other cloud-native technologies. The increasing demand for proficiency in designing, implementing, and managing applications using microservices architecture, along with the effective use of containerization tools like Docker and Kubernetes, showcases a shift in the industry.
With Software engineers increasingly covering aspects of cloud engineering, the rapid provisioning of infrastructure and making quick changes is, after all, one of the promises of cloud computing, this leaves us to wonder about the distinct role of a cloud engineer in this new environment.
The Enterprise Perspective
At the enterprise level, where resources are more abundant, having teams dedicated solely to cloud engineering or any specific area is more feasible. However, for those outside the realm of big enterprise budgets, this scenario is less relevant.
Despite the advantages of more substantial resources, enterprises face a unique set of challenges. For one, the complexity of legacy systems and the need for their integration with new cloud technologies can be a significant hurdle. These large organizations often have entrenched IT infrastructures that are not easily or quickly changed, leading to potential issues with system compatibility and interoperability.
Additionally, enterprises must contend with more stringent regulatory and compliance requirements, which can complicate cloud adoption and integration. Moreover, the sheer size of these organizations often leads to slower decision-making processes and resistance to change, hindering agility and innovation.
Thus, while having the budget for dedicated teams is an advantage, it comes with its own set of intricate problems that require careful management and strategic planning.
Even if they wanted to migrate or modernize, there's a lot of red tape.
The Rise of AI and Specialized Needs
It's unclear, in the long term, what effects AI will have on technology or the world. For now, it seems that we should all aim to become more productive and efficient by leveraging it.
At the moment, AI assistants excel at handling boilerplate and repetitive tasks, but it requires experience to even identify what constitutes boilerplate. Furthermore, once AI can identify boilerplate work, specialized skills are necessary to debug any issues that may arise.
With the advent of AI, there's a growing need for specialized and nuanced skills.
For most teams, especially in startups which are typically cloud-native, the cloud engineering skillset will likely be absorbed into broader roles. At the enterprise level, where financial resources allow, maintaining dedicated cloud teams is not far-fetched.
For the rest, I foresee the emergence of Platform Engineer teams, encompassing sysadmin, DevOps, SRE, and more. But this is a developing scenario, and I'll need more time to thoroughly understand the industry's direction.
The key takeaway? Learn how to learn. Being adaptable and continuously updating your skillset is crucial in keeping up with the industry's pace. And, of course, learning how to code is becoming ever more essential in this tech-driven world.
Stay curious, stay learning, and you'll be well-equipped to navigate whatever the tech industry throws at you in the coming years.