Naturally, the market is still experiencing growing pains. The cost advantages of public cloud offerings are not yet clear. Offerings differ on features, security, and stability. Outages are not uncommon. Network bandwidth may soon become a bottleneck with some services.
As the novelty of cloud computing wears off, customers will expect to treat their cloud providers like any other vendors. When they aren't happy with one vendor, they'll take their business to another.
That's where specialist developers come in. Moving an application from one cloud storage service to another isn't as simple as switching phone companies. A developer who knows the ins and outs of various cloud vendors APIs, SLAs, services, and supported technologies will seem like a godsend to companies looking to jump ship in a hurry.
4. RIA portability specialist
Remember RIAs (rich Internet applications)? Web developers aren't moving away from rich content applications -- far from it -- but the days of using plug-ins to deliver sophisticated graphics and interactivity are over.
Flash has been on deathwatch ever since Steve Jobs barred it from Apple's iOS platform. Silverlight's future looks similarly grim (if you ever saw any future in it). HTML5 and its related technologies are the way forward.
But what about all of the Flash and Silverlight applications that have already been deployed? Some of them are marketing and advertising materials with short shelf lives, but others power valuable education, data visualization, and e-commerce applications. Preserving that content for tomorrow's Web users will soon become a key concern.
Automatic conversion from Flash to HTML5 isn't easy, as Adobe's own attempts have demonstrated. HTML authoring tools for rich applications are emerging, but only slowly. In the meantime, demand is growing for Web developers who are ahead of the HTML5 curve -- but particularly for those who are also firmly grounded in yesterday's plugin-based technologies.
5. Parallel computing architect
Today's applications scale out, not up. Clusters and other distributed systems spread applications across many systems, not just one. With the rise of multicore CPU architectures, even desktop software must be written with multiprocessing in mind. Unfortunately, parallel computing is still one of the least understood disciplines in software development.
All the major development tools vendors have projects under way to help make it easier to build parallel computing applications. Some are developing languages -- such as Google's Go and IBM's X10 -- that make designing concurrent algorithms more intuitive. Technologies like OpenCL aim to help developers offload processing to multiple cores and GPUs. Other projects, such as Intel Parallel Studio, are designed to make existing tools more parallel-friendly.
The problem is that none of these efforts has yet made multiprocessing accessible to the majority of developers. Parallel programming requires more than just new tools; it calls for a new way of thinking. Developers who master the mental gymnastics necessary for effective concurrent application design will advance quickly to systems architecture roles.
Do you see other unique niches emerging for developers? Weigh in with your comments.
This article, "5 hot specialties for software developers," originally appeared at InfoWorld.com. Read more of Neil McAllister's Fatal Exception blog and follow the latest news in programming at InfoWorld.com. For the latest business technology news, follow InfoWorld.com on Twitter.