Software Development

Are these the dev skills you'll need to survive in the cloud?

As businesses use increasing numbers of cloud and mobile apps, here are some of the skills developers could need to stay relevant to the business of tomorrow.

Java is the workhorse of enterprise applications, but as firms increase their use of mobile and cloud-based apps what skills will experienced developers need to remain relevant to business in five to 10 years' time?

The answer, according to Adam Seligman, VP of developer relations for Salesforce.com, will be dictated by the changing shape of enterprise IT. Business architectures are shifting from monolithic technology stacks provided by a single vendor towards a patchwork of loosely-coupled cloud services, he said.

While deep knowledge of the likes of the venerable Enterprise JavaBeans (EJB) standard isn't going to stop being useful in this new environment, Seligman said developers need to look beyond reinforcing legacy skills and at new languages and frameworks suited to the agile and distributed enterprise of tomorrow.

Language independence

"In the old world there's a vendor, the vendor delivers a giant stack of stuff and you better learn the stack, and your skills and career are coupled with how well you know the stack," he said.

"The new world is one of open services, where you pick the language you're most comfortable with.

"Maybe you know how to code Java but if you could be five times faster doing declarative [programming] because you're clicking more and coding less, do it. [Or] go be a Ruby developer and use Rails. If you look at Rails and see how little code you have to write to munch data around, it's revelatory."

Java developers should swot up on new tools like Gradle and frameworks like Play - he said - and take advantage of the automation and productivity enhancements they bring to decrease the time it takes to ship products.

"Every Java developer should ask themselves 'Have you learned a modern framework?'. If you're using something old, have you learned Play? Are you playing with Gradle? Are you trying out a new JVM (Java Virtual Machine) language like Scala?" said Seligman.

Mobile experience

A small amount of mobile development skill, is equivalent to "years of old enterprise Java stuff", Seligman claims.

"Say you're a EJB expert with 10 years of experience, I don't know if another year of doing heavy Java is going to drive a whole lot of return, versus doing a year of mobile web or iOS development. Demand for apps has changed and therefore how we build them changes," he said.

"Ask yourself 'Are you keeping up with web standards?'. Are you producing really ugly Portlet apps or are you doing HTML5 apps?"

Rapid deployment

With the growing number of PaaS options - everything from Salesforce's Heroku to Amazon's Elastic Beanstalk - allowing for rapid deployment of web apps, Seligman recommends developers begin experimenting with pushing apps to a PaaS and learn how the underlying stack works.

"The most important thing is get to the cloud, you want to be pushing apps in minutes, you don't want to spend months writing an app and then wait months for it to be deployed," he said.

"Get to the cloud as fast as possible because you could participate in this new agile, iterative, customer-first world we're in but you're going to have to ship code really fast."

About

Nick Heath is chief reporter for TechRepublic UK. He writes about the technology that IT-decision makers need to know about, and the latest happenings in the European tech scene.

4 comments
solana
solana

Still believe that Java and C++ stands out.

auogoke
auogoke

but need to come up to speed on rapid deployment tools. Having seen the kind of productivity gains a transition from JavaScript to jQuery makes possible, I am looking forward to putting Ruby/Rails and similar frameworks to good use. Mobile and cloud computing are here to stay.-- as away of life. I am glad for the opportunity to get in on the on action on the "ground floor".

veretax
veretax

I generally agree with the theme of the article, I'm just curious as to what source you have that names Java as the work horse of Enterprise Apps? Because where I've worked, it's not quite that clear a distiniction.

mattohare
mattohare

The author, for being a lead editor, seems incredibly blind. No mention of .Net, PHP, and the array of multi-vendor stacks that have been out there for the last decade or two. I'd say he could do with getting out a bit more.