What Skills Do You Need for the Cloud?

Over a year ago, I posed a simple question in a post: ‘Should developers care about cloud computing?' In the post, I went on to assert that developers should indeed care about what was at that point a little more of an emerging trend. Not that this was ever a controversial issue, but in light of the growing momentum of cloud since that post, and the realization that the effects of cloud reverberate throughout entire IT organizations, this is no longer even a question.

So, cloud computing definitely ‘affects' developers and other technical employees, thus they should certainly care about the movement, but what exactly should they care about? In other words, what skills are important for developers in the context of cloud computing?

I constantly evaluate and re-evaluate the answers to this question. As both a practitioner and advocate in my day job, it is important to understand the issues at play. After all, practicing and subsequently advocating skills that are not pertinent do not provide value to the users I interact with on a daily basis. Luckily, I frequently talk to many different users in various stages of adoption and implementation of cloud computing. It allows me to constantly collect and synthesize a wide range of data points, from a diverse set of companies, regarding this question.

Obviously, the answers to the question will always be a snapshot of a point in time of the evolution of cloud computing and its uses. That said, as I look back on some of my more recent notes on the subject, there seems to be consensus on a few valuable skills for developers and other technical users in the context of cloud:

- Scaling experts: Companies looking to build and deploy applications to the cloud place a high priority on developers and architects who are skilled scalers. While this may be the most obvious skill when you think of what it takes to be a developer for the cloud, it also appears to be the most elusive. I have heard many IT managers lament the fact that they are still early in the process of cultivating skill in the design and implementation of cloud-scale applications.

- Master integrators: The plethora of public and private cloud services available coupled with the lessons learned from SOA means that many enterprises will lean heavily toward hybrid cloud approaches. They are looking to build best of breed solutions that consume elements from many different sources. In this respect, solution architects and developers that can both design and implement such an integrated approach are highly sought.

- API designers/implementers: In cases where enterprises are constructing private clouds, they often hand over cloud operational duties to a particular team within the company. This team becomes the internal cloud provider, and inevitably looks to enable programmatic consumption of those cloud services through APIs. If you have ever designed or implemented an API, you know it is part science and part art. You also know that this is not a widely held skill. If you possess or can acquire this capability, the cloud will provide you with numerous job opportunities.

- Automation wizards: The overwhelming majority of users I talk with are enamored with cloud computing and its promise to deliver speedy access to some set of services. Users often overlook the fact that they often compose solutions that require many of these services. The promise of speedy access breaks down when one cannot automate the acquisition of services across clouds or across clouds and traditional systems. In many cases, to fully realize the notion of rapid access to solutions, one must construct an automated system. Those familiar with the design and implementation of automated systems will have a leg up on cloud jobs.

These are just a few of the technical and architectural skills that seem to stand out in the current cloud world. I based this largely on my experiences and interactions with users, and I am very interested to hear what you have to say on the subject. Let me know what kinds of skills and abilities you think are important for developers and architects in the cloud.

Related Stories

Dustin Amrhein joined IBM as a member of the development team for WebSphere Application Server. While in that position, he worked on the development of Web services infrastructure and Web services programming models. In his current role, Dustin is a technical specialist for cloud, mobile, and data grid technology in IBM's WebSphere portfolio. He blogs at http://dustinamrhein.ulitzer.com. You can follow him on Twitter at http://twitter.com/damrhein.

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.