Where Are all the Cloud-Native Developers?
Developers develop, clearly. But in an era of cloud where we talk about cloud-native as the new normal alongside terms like API-first, container-centricity and the ability to wander joyfully through the Elysian fields of serverless provisioning-free with liberty, why do so few software engineers class themselves as cloud developers?
With the heady memories of AWS re:Invent 2023 just a few days old, CEO Adam Selipsky’s keynote is still ringing in many people’s ears. The AWS CEO (and his C-suite counterparts) talk endlessly about the need to reimagine tools, services and functions for developers using the cloud, but at no memorable point did Selipsky talk about ‘cloud developers’ as a newly defined entity within the software engineering cognoscenti.
An inevitable migration?
Perhaps it’s a habit, perhaps it’s meant to be implied, or perhaps we still harbor some notion of ‘terrestrial’ systems being the norm with some inevitable migration process waiting to happen at some point between project inception and go-live to production.
Could it be the fact that, even in the most modern and progressive developer shops, there’s still a proclivity to gravitate toward testing and debugging that happens locally? With pressure to ensure feedback loops are tight, short, rapid and accurate, we may sit at a point where engineers perceive cloud-native development as an additional upper tier of systems management that they don’t necessarily have to shoulder. Given that we seem to universally accept that hybrid cloud is de facto common sense, perhaps the coding team feels they should build first, then think about deployment architecture arrangements as an afterthought.
With concerns around latency now far-reduced (cloud hyperscalers are, of course, multi-region and offer a litany of service options based upon specific application requirements) and worries over data ownership now a distant memory, surely the sift to cloud-native should have happened more prevalently by now.
Shifting Skills Scope
We do know that cloud engineering is still inherently complex; which, in fairness, will always demand a higher level of knowledge in fields including data science, networking and security. Add these requirements to the need for a thorough grasp of parallelism and concurrency, with cloud clusters separating out workloads and their dependency structures, and then perhaps we could see why there is reticence. But these are falsehoods; cloud service providers (CSPs) have been working to shift these types of functions into the cloud across CPUs and GPUs. This is not stuff cloud developers need to worry about in the first place.
With core functions such as debugging and testing now firmly established as first-class citizens in the cloud toolbox, even the most high-fidelity cloud simulation/emulation options may now become less popular, perhaps even less respected. There are still challenges, for sure. The API landscape may be well populated, but it is arguably not as well delineated, orchestrated or as easily navigated as some would like.
As software developer Pablo Bermejo wrote on dev.to, “Making life easier for developers is not the job of cloud platforms. That’s not their focus, and it will never be. [The CSPs] will keep iterating primitives, eventually making everything serverless and running at the edge and opening the door for others to focus on creating better developer experiences.
Guts, Then Glory
What we may need to focus on first are the guts—those elements of the cloud substrate that have previously taken up too many precious resources. With the core chores associated with extract, transform & load (ETL) jobs still taking up too much time in the total cloud provisioning overhead, the more we hear from the hyperscalers about automating these functions the better.
With the new breed of generative AI waiting in the wings after a heady year of hype and histrionics, the need to provide cloud database connectors to create channels that will enable new intelligence functions is of paramount importance. Again, it’s all about guts and infrastructure base layer technologies that we need to align if the cloud-native dream is to become a reality.