I started reading a corporate help-wanted ad for a cloud developer and kept reading and reading and, well, the requirements list was crazy long. I scanned to the top again. Yep, the job was for just one person, not a team. I sent the ad to Cameron McKenzie, Java developer and editor of TheServerSide.com, who replied: "Sounds like it's from Mars."
But what seems to be from Mars one minute can quickly become a reality the next. I'm a witness. While hardly any regular people had computers when I started covering IT, now almost everyone walks around holding one to an ear. Likewise, the skills required for software developers, even months ago, were much simpler than ones we're seeing in job descriptions today.
In this article, I explore the evolving role of software engineers, looking at today's cloud developer job requirements and career opportunities, including cloud developer salaries; ways to build in-demand cloud development platform skills; and more. Along the way, I'll share advice from Andrew Heyes, a managing director for IT recruitment and research firm Harvey Nash. Application developers face a conundrum as new technologies evolve at a faster pace than ever before, particularly in the areas of cloud computing, extended web development, mobile computing and social media. Cloud development, in particular, calls for business, operations, tools and integration skills that were once outside of the development silo.
Andrew Heyesmanaging director, Harvey Nash
Heyes believes cloud developer recruiters are asking for too much. "There is a dearth of candidates with the full list of skills employers typically want," he said. "The industry itself could be accused of being a little too focused on 'tick boxing' technical skills." In fact, 75% of tech experts think employers and recruiters are too focused on assessing technical skills and overlook good people as a result, according to the global 2017 Harvey Nash Technology Survey.
No kidding! The responsibilities listed in that "cloud developer wanted" ad include project manager, software tools and subsystems designer, and subject matter expert on architecture for development teams working on multiple application projects. This developer will also manage data storage with an existent data warehouse system. For the cloud developer job listing I mentioned above, the candidate is expected to bring these skills: security clearance, obviously; Java Standard Edition (latest version) experience; Hadoop certification for specific products; and experience with specific government-off-the-shelf; data cloud; databases (NoSQL, MongoDB, Apache Couch DB, others); data ingestion; mapping data into the cloud; ontology; data cataloging; specific web technologies (REST, Grails, more); and languages other than Java.
Whew! Versalitists wanted! No one-trick ponies need apply. Looks like becoming an obsolescent software developer can happen faster than the demise of Betamax video players, of which I was a proud early adopter.
Hear an industry pro discuss what skills should be on a software developer's resume.
Details about cloud developer salary
Developers who read such ads have to wonder if it's worth the effort to acquire all those skills. Well, the pay is pretty good. Harvey Nash's research shows a cloud developer salary ranging from $80,000 to $100,000 for permanent positions. Heyes noted, however, that the main market at the moment is in consulting and contracting, for which day rates range from $550 to $800.
Someone filling the requirements of a job ad like the one I read could pull in more. Payscale's cloud computing salary research puts a value of about $130,000 a year on senior cloud architect and cloud developer positions in the U.S.
So, cloud developer salaries look good, but how many jobs are out there? "Both job opportunities and salaries are trending upward," Heyes said. The Harvey Nash survey reported that across the IT industry, there was, on average, a 2% to 5% salary increase in 2016. In the case of cloud-specific roles, the salary increase was closer to 5% to 7%. Whilst there is this kind of growth, the consulting/contracting market tends to grow as well.
Getting reliable data on the cloud computing job market size is difficult, according to Heyes. "Part of this is down to definition; what really is a 'cloud' job?"
CEB Talent Neuron research showed 18 million cloud computing-related jobs globally in 2015, but the number of cloud development jobs is not clear.
Cloud developer responsibilities
What is clear is employers' top choice for cloud development platform skill. "Without doubt, AWS (Amazon Web Services) is the most sought-after skillset," Heyes said. "Harvey Nash jobs where this is an explicit requirement outnumber the next most popular skill -- Azure -- by almost two to one." That said, he added, many Harvey Nash clients -- IT job recruiters -- tend to be agnostic about what specific skill they are after. "If the candidate knows their way around cloud, regardless of what environment, then that is often enough."
DevOps is another highly desired skillset. "If you silo yourself to only systems admin or development and not embracing a DevOps approach, you could find yourself left behind," Heyes said. "Certainly, this has had an effect on the developer market driving up salaries and day rates and creating a shortage of talent."
Searching for a basic list of must-have cloud development skills, McKenzie and I scanned cloud developer job listings and talked to some developers. SOFT9000.com software consultant Randall Nagy told us, "The economic realities of our time are clearly favoring software developers who are capable of doing more than writing code." Then, he and others gave us long lists -- longer than the list in the cloud developer ad that spurred this quest.
Recognizing that the task was impossible, we made this list of good-to-have skills and experience areas for cloud development job seekers anyway.
Standard cloud developer skills
- .NET, particularly Microsoft Azure and/or Java. Java and J2EE have the edge, but don't forget Spring.
- Some combination of Python, Perl and PHP.
- Web services and APIs as in RESTful and SOAP.
- Agile practices.
- Design patterns and UML, of course.
- Object-oriented programming, a basic for coders.
- Hibernate and MYBATIS in corporate settings for handling database schema in source code.
(Relatively) new development skills
- Alternative languages, particularly Ruby on Rails and Scala.
- Hadoop for handling big data, as well as complementary Hadoop technologies such as HBase, Hive and Hadoop Distributed File System.
- Continuous integration skills for real-time testing and diagnostics, because unit testing is not enough in the cloud, said Nagy. Know Moles, PEX, Delegate and system-style integration interfaces and testing strategies.
- Platform as a service.
- Service-oriented application development, because service-oriented architecture is the middleware backbone of cloud.
- Infrastructure-as-a-service platforms (Amazon Web Services, Rackspace, Hewlett-Packard Enterprise, Citrix, Eucalyptus, VMware, etc.).
- DevOps technologies (CFEngine, Zookeeper, Capistrano, Chef, etc.) give multidisciplinary cachet.
- Virtual infrastructure configuration.
- Skills related to particular vertical applications.
This list shows that, on the one hand, software professionals seeking a cloud developer job certainly have to be versatile. On the other, these skills requirements are not uncommon in general web development today, so working on enough of those projects can put developers on the path to more lucrative and future-friendly cloud positions.
Indeed, the current software developer shortage has created many entry-level cloud developer positions that provide on-the-job training. Gaining experience through hands-on work is the best path to advancement for cloud developer, Heyes said. "Courses are a great way to get a grounding in cloud tech, but, really, what employers are looking for is real-life experience," he said. "If you have no cloud skills at all, the best way to do this is to look for cloud projects in your own company."
The good news, Heyes concluded, is that with so much growth in cloud, there are increasing opportunities for gaining experience in house.
Why customers are gravitating towards cloud apps jobs
Mobile, HTML5 and cloud trends peak techies interest
The role end-user identity management plays in cloud apps