Wired for experience®

Interpreting the Stack Overflow 2016 Developer Survey results from an application delivery perspective

Stack Overflow recently announced the results of their annual developer survey. This year, over 50,000 developers in 170+ countries answered 45 questions ranging from the programming language they use the most to whether they preferred Star Wars or Star Trek, and everything in between. Maybe that is why they call it “the most comprehensive developer survey ever conducted.”

The survey provides insights into popular technologies, diversity, compensation, and sci-fi preferences. You can go ahead and get your geek on with the survey results here. But in this post, we will interpret the results from an application delivery perspective, focusing on the technologies and challenges.

Front (end) and center

First things first, JavaScript overtook Java as the most popular tag on Stack Overflow. In fact, all the front-end technologies have gained popular ground. With consumers demanding engaging experiences across different devices, front-end and mobile technologies will only grow more popular. I'll go out on a limb here and make a prediction that next year Android will overtake Java to become the second most popular tag on Stack Overflow.

The rise and rise of AngularJS

AngularJS now seems to be the go-to web application development framework. In just a few years, its popularity has skyrocketed and it appears to be the dominant JavaScript framework out there. The Stack Overflow survey results corroborate this fact as AngularJS appears multiple times in the top technology combinations preferred by front-end developers.  It also figures prominently in the technology combinations of full-stack and back-end developers. Even among developers who are not developing with the language or technology, AngularJS is one of the top 3 technologies that they would most want to work with.

Looking back, WaveMaker made a prescient choice by rebuilding its RAD Platform a couple of years ago using AngularJS. For those who are new to WaveMaker, versions prior to Studio 7 were based on the Dojo framework.

Challenges to application delivery

Amidst the rapid technological changes, the challenges to application delivery remain and continue to put pressure on IT to deliver applications at the speed of business. As per the Stack Overflow survey, developers cited the following challenges at work:

Sounds familiar isn't it? One way to broadly categorize these gripes would be under:

Do share what, according to you, are the challenges and solutions in the comments section.

In an organization, business applications are the glue that ties teams and business processes together. Advances in technology, computing, and industry trends shape the architecture of business applications. And like any other software, business applications have also undergone fundamental changes and evolved over time.

Elements of a business application

Basically, any business application consists of the following elements:

Evolution of application model

Let us take a walk down the memory lane and look at the evolution of business applications from the point of view of user interface (UI), logic, and data.

Mainframe era: 1950s to 1980s

The very first business applications were based on the terminal server architecture during the heydays of mainframes and microcomputers. At that time, all application logic and data resided on the server. There was no clear separation of logic and data on the server side. The user had a terminal with low computing power. The user interface was limited to character display terminals and input was limited to a keyboard.

Client-server era: 1980s to 1990s

As microcomputers decreased in price and increased in power from the 1980s to the late 1990s, many organizations transitioned computation from centralized servers to fat clients. For the first time, business applications had a rich user interface that was installed on these microcomputers (desktops). Also, there was a very limited separation among the elements on the server side.

Web era: 2000s

During the 2000s, web applications matured enough to rival application software developed for a specific microarchitecture. Although all the elements of the application resided on the server, the advent of service-oriented architecture gave rise to a 3-tier architecture with clear separation of the UI, logic, and data. Data that was otherwise locked in monolithic systems was liberated to a great extent and along with emerging web technologies, giving rise to rich internet applications.

Mobile era: 2010s

The advent of social, mobile, and cloud, along with the consumerization of IT, is placing greater demands on business applications. The proliferation of smart mobile devices and the Internet of Things has given rise to a modified 3-tier architecture wherein the UI resides on some of the devices and the application data stays in sync. Organizations are using modern platforms to create business applications that are available on any device, anywhere, any time.

How do you think the application model will evolve in the next 10 years?


How can IT fuel the grassroots movement for citizen development and pave the way for frictionless enterprise application delivery?

Citizen development efforts are poised to grow rapidly in the next few years, led by the increasing adoption of cloud-based platforms, which simplify access to corporate data. Enterprises across the board are keen to embrace citizen developer tools not only to amass productivity gains but also because business users are tired of waiting for IT to deliver the applications they need at the speed of business. Let us look at how you can create the right conditions and catalysts for a citizen developer revolution at your enterprise.

Who is a citizen developer?

According to Gartner, “a citizen developer is a user who creates new business applications for consumption by others using development and runtime environments sanctioned by corporate IT. In the past, end-user application development has typically been limited to single-user or workgroup solutions built with tools like Microsoft Excel and Access. However, today, end users can build departmental, enterprise and even public applications using shared services, fourth-generation language (4GL)-style development platforms and cloud computing services.”

Preconditions for citizen development

The above definition also contains two preconditions that are necessary for citizen development:

Catalysts that foster citizen development

Aside from the necessary preconditions, enterprise IT needs to take the leadership role by doing the following to foster a grassroots citizen development movement that benefits both business and IT: