As we started talking about extending the CloudU content beyond the introductory series of modules, one area that people asked us time and time again to give some thought to was the changes that developers would see in their working life because of the cloud. One only needs to take a look at the CloudU LinkedIn group to see that cloud is an important topic of conversation for developers. I wanted to explore what all this meant and spent some time talking to two people who spend their working days helping developers navigate the changing landscape – Barton George, director of marketing at Dell, and Sam Ramji, the vice president of strategy at Apigee.
I went into the research for the report with some pretty firm preconceptions, as I said;
The advent of cloud computing has removed infrastructure as a barrier to rapid and massive scaling of applications. [IaaS and Paas have] made it possible for a developer to create an application one day and have it utilized by hundreds of thousands of users the next… No longer do developers have the luxury of creating an application and scaling that application in a controlled and generally sedate manner. Instead the velocity of today means that they need to think about scale and speed from the outset…This change in the ways data is being created, stored and consumed by an application has also changed the demands on developers.
It became apparent from talking to people and researching the topic, that developer roles in the future will be strongly split between those who develop for the front-end, and those who focus on the back-end. Front-end developers spend their time worrying about interaction, device specifics and UI. Front-end development therefore combines many elements formerly the domain of designers, with usability and aesthetic aspects. Thus we see the front-end developer role being very much a hybrid of what was several discrete roles previously.
This convergence of roles also occurs at the back-end, where developers now take care of many operation aspects of application development and deployment. The extreme scaling requirements that modern applications introduce results in a need for back-end developers to understand operations implicitly – it is no longer a case of developing an application and then handing it over to the operations teams to deploy and manage. Back-end developers of tomorrow will be an intrinsic part of application management.
In the report itself (and feel free to download it here) we go into details about different parts of the development process – for back-end developers we detail the logic tier, the data tier, the infrastructure tier and the various approaches to databases (both relational and non-relational). For the front-end we talk about languages and frameworks that give them the best options around experience and aesthetics and delve into the practicalities around building for a mobile world.
Finally we include a lot of real world case studies from developers out in the wild who give their perspective and preferences when it comes to choices for their own development.
One area we didn’t cover in the report is that of PaaS – the report was focused on development from a building-block perspective. We’re planning on producing another report that is specifically focused on developers building applications on top of PaaS – after spending some time recently at DeployCon, the first ever PaaS focused conference, this is an area we’re looking into and a report we’re looking forward to getting out.
Meanwhile we’d love to hear your thoughts about the report – download it for free here.
(Cross-posted @ The Diversity Blog – SaaS, Cloud & Business Strategy)