Very few projects do not involve the cloud, requiring expertise in both software development and cloud engineering. To better understand how these roles overlap and gain insight into how they will evolve, three experts: Luca Cavallin and Maarten Baijs, Binx cloud engineers, and Léon Rodenburg, Xebia software consultant/Alibaba Cloud MVP, share their thoughts.
Software Development Versus Cloud Engineering
The two distinct roles, software developers and cloud engineers, are gradually merging as the cloud becomes more prominent. With so much infrastructure already provided in the cloud, company’s needs are changing. Léon describes the impact he’s observed in his clients, “It used to be the case that there was a platform team responsible for the cloud and there was another team that built the software, the two were totally split. I don’t see a lot of customers still adhering to that approach because it doesn’t take full advantage of cloud development. Mixed teams are becoming more common because clients don’t need to address the underlying infrastructure as much.”
Companies, and the field at-large, are still adjusting to these new possibilities. “At the moment, a lot of these technologies and patterns are very new, like serverless operations,” Maarten explains, “so there still isn’t much knowledge around these applications in the field. That’s why there’s still a big need for cloud engineers.” How the roles will evolve and merge is not yet clear.
This lack of clarity is partly caused by the different knowledge required. “It is very important that people who work as cloud consultants have some sort of certification to demonstrate their knowledge because the field is still relatively new,” Luca says. Different cloud providers offer certification programs, enabling professionals to show their skills meet that provider’s standards.
Theoretically, any company can reap the benefits of cloud-native software development. However, services and applications offered vary between cloud providers, presenting limitations and logistical issues. If one cloud provider cannot meet all of a company’s needs, it can be difficult to navigate operating within multiple providers or migrating applications from one provider to another. Léon anticipates this situation will change, “I have a feeling at some point there will be such a big demand from the market to create more tools to move between cloud providers. On a higher level, there might be a standard coming for serverless technology, like an open application framework, that will standardize the way you can deploy services and applications across clouds.”
Leveling the Field
Cloud-native software development levels the field by enabling companies to operate with the same resources. In other words, companies have the same toolbox. One significant benefit, Maarten explains, is that companies do not need to hire as many experts, “If you can leverage the services that have been tested and refined for a reasonable price, that will save you money in the end. If you don’t have access to the cloud, you have to make everything yourself, which requires a lot of experts. Using the cloud gives companies that only have a few engineers access to world-class technology.” A small team using the cloud may then be as effective as a large team doing everything from scratch.
It is essential to think long-term when considering whether or not to adopt cloud-native operations. Luca has observed that some companies are deterred by the costs associated with cloud providers. He advises these companies to see the bigger picture, “If you don’t go to the cloud, you will need to hire experts that know how to build the infrastructure, maintain it, and buy your own servers, which will be even higher costs over time.”