What are ‘Cloud’ Skills, Exactly?

What are these elusive cloud skills that everyone says are so much in demand?

cloud skillsIDC, in Climate Change: Cloud’s Impact on IT Organizations and Staffing, estimates that cloud computing created 1.5 million jobs in 2011. Though the white paper paints with a superficial brush designed to provide insight for CIOs rather than career guidance for professionals, other research has delved into specifics. Among them: Developers, if they aren’t already, should become polyglots and include in their repertoire of skills more scripting languages like Python and PERL.

But still, how do you answer the question, “What skills do I need to survive and flourish in a cloud-based world?” Telling a friend to “learn PERL” isn’t really going to help them acquire “cloud” skills. PERL, remember, has long been used by developers (remember CGI?) as well as administrators and operators, though for very different reasons. Languages do not a cloud developer or DevOps professional make. It’s what you do with the languages that determines whether you’re cloudy or not.

Primarily, the cloud is about abstraction of underlying systems. How high up the stack that abstraction goes depends on the cloud computing model being discussed. Infrastructure as a Service abstracts the network and related infrastructure while Software as a Service abstracts everything up to the application itself. Being skilled in one does not necessarily mean being skilled in the other. Being proficient with IaaS may mean experience with a provider’s management API, which in turn may mean a thorough understanding of SOAP or REST or both. An expert SaaS developer will focus on specific systems, such as Salesforce or SugarCRM or Ceridian, and offer to potential employers the ability to extend and integrate such applications with back-office systems. Then there’s the difference between the skills needed for private clouds versus public clouds. While the latter may require experience with APIs, frameworks or third-party management software, the former might carry with it expectations of experience with OpenStack or Eucalyptus, with Puppet or Chef.

Blurring Roles

The lines between developers and operators, too, is blurring with respect to cloud computing. Developers may need to expand their administrative skills, becoming proficient with scripting languages and configuration files for Web and application servers as well as more network-oriented services such as load balancing and caching. Operators, conversely, will need to pick up some dev chops, learning to interact with REST APIs via scripting languages and command line tools in order to move forward on continuous deployment initiatives. Getting your hands dirty with specific cloud provider APIs like Amazon and Rackspace or Cloud Foundry, too, will be a boon to increasing your market value. That’s because what many employees mean when they say “cloud skills” is really experience with the tools and frameworks used to manage their public, private or hybrid cloud model.

In the vastness that is cloud computing today, the skill you need to succeed will largely be those you already have or can easily acquire — language proficiency. Today, the experience with tools and APIs and providers you need can be acquired thanks to the cloud’s economy of scale, which has driven costs down to nothing in some cases and nearly nothing in others. Experience through experimentation is a valid model in this nascent market. Much in the same way graphic designers offer up a public portfolio, cloud professionals may want to consider offering up the URL of a cloud-deployed application as part of their resume, particularly when cloud experience is limited in current roles.

Inarguably, the cloud computing market is exploding with opportunities. What’s missing most often is a clear indication from potential employers what specific skills or systems experience they’re looking for. Employers can help themselves and the market by being more specific and providing guidance to candidates and setting reasonable expectations with respect to skills and systems. Asking for “cloud skills” when you’re really looking for AWS API experience or Puppet scripting skills makes it difficult for job seekers to determine whether they’re a good fit or not. In a budding market like cloud, it’s important to be specific in order to avoid overloading HR and ensure the best fit possible. Seekers can assist, too, by ensuring they provide insight into what, exactly, their “cloud” skills are.

While “cloud” is certainly all about abstraction, “cloud skills” should be a bit more concrete — from both sides of the employment table.

Comments

  1. BY John Spatz says:

    Forgive my ignorance as I begin to Google … Amazon, Rackspace and
    Cloud Foundry APIs… to see what they are all about.

    Are these three skills comparable to downloading a Linux CentOS .iso file to your home workstation to create your own setup for experimentation…or are these corporate software tools that have a hefty price tag that cannot be downloaded to your home computer setup for free (or nearly free) so you can do your own self training?

    By the way, I’m skilled big time in Perl.

    Hopefully, this wasn’t a dumb question. Just curious if getting these new skills are confined only to those individuals that work at companies that already have those three software (and required hardware too?) setups already in place.

  2. BY Lori Mac Vittie says:

    Hi John,

    No questions are dumb. Many cloud providers have a “free” tier that allow you to sign up and experiment in their environments. Once you’ve signed up and spin up an instance (much like a server – you can usually choose a Linux or Windows image) you can experiment with the APIs for starting them up, spinning them down, and in general getting familiar with how to manage the instance in the cloud.

    You can also interact with the instance (server) the same you would any other server – you can ssh in and run commands, write scripts, develop code, and deploy applications. The only difference at that point is that it’s running “out there” instead of on your own machine on your local network.

    Eucalyptus is a popular “private” cloud framework you can install on many Linux derivatives – Ubuntu is a popular choice. If you go that route you can install locally and then interact with its GUI and APIs on your own machines but get much of the same experience as if it were an off-premise cloud environment.

    If you’re looking to gain some operational skills, OpenStack is an OSS framework for managing private cloud (developed initially by Rackspace and NASA then released as open source) that you can download and install locally as well, though it can be very rough at times to work through. OpenStack is becoming the favorite for “build your own” cloud so it offers a lot of options to tinker with – from developing plug-ins to learning to automate and orchestrate the entire environment (from switches to firewalls to web and app servers).

    Which direction you go depends a lot on what your focus is and what kind of cloud “role” you’d like to get into.

    Lori

  3. BY RobX says:

    Nice article, and those specific skills are valuable. However, it is limited by the tools mentioned rather than the concept of the growing Cloud.

    Why are the VM (Virtual Machines) excluded from Cloud as they are the other trend?
    For example: Citrix allows my applications to be used internationally on Windows, Linux, Apple, Android, Blackberry, Iphone, …. (see http://receiver.citrix.com/)
    We use clusters of SQL Server, Oracle, GIS systems, and other databases to support a front-end with out all those expensive products that carry a hefty bandwidth. The application include a rich front-end user interface.
    Even our MS Access Programmers use SQL Server / Oracle / GIS back-ends to distribute very rich front-end applications cheaply and on 8k of bandwidth to hundreds of concurrent internal business users internationally. The users don’t need anything but one client installed on many platforms.
    The TCO is extremely low.
    The Cloud applications covered are for large corporations with money to burn for expensive tools and high on-going maintenance cost. If the economic growth is driven by small business or internal medium sized business units, then a smaller quick development process is in demand.
    Citrix and the newer VM tools (see Microsoft news for VM as an example) allows small to medium business or internal business units to quickly and economically produce and distribute rich front-end user applications very securely.
    One only has to look at the Citrix stock over the 5 year period to see the $30 range to the $70 range despite the relative licensing price drop.
    Focusing on specific tools rather than the concept limits the focus of Cloud discussion.
    It is back to the old right tool for the job at hand. Some of the tools mentioned might not apply for a business unit of 50 to 100 people across the country. They might be the better tool for large scale operations.
    The one thing we can always depend in a consultant’s answer is “… It Depends…”

  4. BY Corne says:

    How about cloud skills for dba’s, project managers and other managers involved in cloud projects ?

  5. BY GregJ says:

    Save America! Return to the Mainframe in the basement and Cobol/Fortran programmers in the office. Why did we ever move away from that? The world has changed to one of techno-oneupsmanship between vendors and technology for technology’s sake, cheered on by the media, while we managers and our support cadre pay the price – obsolescence, cost overruns, failed projects, finger pointing, lost data, and swarms of consultants who, after locking in lucrative contracts often reveal that they don’t have mthe organization’s best interests at heart. The cloud will one day, upon closer inspection, turn out to have been the haze of smoke and mirrors….

  6. Pingback: Will Esolang Help You Get a Job? - Dice News

Post a Comment

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>