It’s that time of year again when we take out our crystal balls and predict the trends that will power and dominate software development in the coming year. In fact, most predictions that are worth their salt are actually projections based on trends that we’ve noticed in the past. So last year and the coming year are inextricably connected, and so are our 2017 predictions.
First and foremost, artificial intelligence in all its forms will continue to be the hottest topic in software development and will go from a curiosity to ubiquity as more and more developers incorporate AI libraries and functions into their apps. At the end of 2016 42% of developers said they were using some forms of cognitive computing or artificial intelligence in their development projects, up dramatically from the number of practitioners at the beginning of the year. Within the overall arc of AI, we see particular movement in the adoption of conversation systems (chatbots) plus machine learning in all types of apps, but especially those involved with Internet of Things. Deep learning is also an area of heavy interest that will grow over the next year but at a slower pace than other AI-related disciplines.
Next is the further penetration of the connected world into everything we do and everything we use. Internet of Things development became an even stronger force with over a third of developers either currently working on IoT projects or having worked on one in the past as of the end of 2016. The strongest IoT segment being targeted flipped from the first part of the year and is now business to consumer, although industrial and commercial implementations are still strong. The types of projects that are being worked on are diverse and no one type is dominating the area of focus for IoT reflecting the relative newness of the market. We see stronger presence in industry as well as commerce going forward.
Block chain development is another area that we believe will blossom during 2017. Already used in some form by almost one in five developers, this form of distributed database will become prevalent as developers marry it up with IoT to address security as well as ease of use. Over 60% of developers who use blockchain use it for a purpose other than cryptocurrency, and we expect the types of use cases that will proliferate during 2017 will be diverse and maybe sometimes surprising.
New user interfaces will round out the profile of our 2017 predictions. Virtual Reality will be more and more popular for gaming, but it’s Augmented Reality where we’re going to see explosive growth as the possible implementations transverse industries. Today 29% of developers are incorporating some type of AR into their applications, but an additional quarter plan to.
So 2017 looks to be full of exciting and significant developments. Hoping it’s a happy one for all of you.
The Churchill Club is the premier Silicon Valley organization designed to promote the exchange of ideas and networking amongst those in the industry and to “ignite” conversations. It describes itself as “one part business, one part technology and 7000 parts people”. Last night it hosted Ginni Rometty, CEO of IBM, at its annual dinner and she provided information and insights that truly ignited excitement and a whole realm of thoughts for the future of computing.
It’s “Digital Today, but Cognitive Tomorrow” she said as she described IBM’s vision of augmenting human intelligence with computer cognition. Having just been at the Innovation Hanger at World of Watson the previous week, she mentioned several of the innovative solutions the developers were working on there with machine learning and Watson. IBM provides tools and libraries to help developers implement machine learning and other forms of artificial intelligence in their applications. And they’re not alone. Microsoft’s Machine Learning Studio, HPE’s Haven on Demand, Google’s Deep Mind are just a few of the tools that major vendors are providing for developers to add intelligence to their development. Our most recent Global Development Survey showed that almost 40% of developers worldwide are already working with some form of cognitive computing, with the APAC region leading the way. Cognitive computing in all its varied forms is without doubt the hottest technology trend amongst developers today.
Blockchain development was another important area that Ginni talked about. She predicted that blockchain “…will do for trusted transactions what the internet did for the transfer of information”. IBM has upped the security aspect of blockchain development by providing special security features in its blockchain product for developers on Bluemix with confidential transactions, monitors and more. Development of the distributed blockchain architecture is a current activity for just over 18% of developers worldwide, with another 29% planning for it in the future. And it’s not just about BitCoin. Over two-thirds of those using or planning to use blockchain will use it outside of cryptocurrency. The most popular implementations are for an information hub or the management of IoT devices.
The last subject was cyber security, and with that she brought it all together. Security is essential and becoming more so but it’s also becoming harder to implement. “As soon as you get somewhere in development you can assume the bad guys are already there”. So that’s where Cognitive Computing again comes in. With Watson for Cyber security, IBM is seeking to answer the old question of how to protect technological progress while ensuring that it continues to be secure going into the future.
Ginni was impressive with her quick thoughts and insights and IBM was impressive as well as it blazes a trail into the most important new worlds in the future of computing.
The number of developers actively developing in a Cloud environment reached 5.4 million in 2016, according to our most recent Global Development Population and Demographics Study, the de facto standard in developer population estimates. This represents an increase of 375% since 2009.
The study, conducted twice a year since 2006, uses a plethora of publicly available data points and a sophisticated computer model to produce developer population estimates per country and region for almost 40 countries which then have primary research data overlaid to show numbers of developers adopting various technologies around the world. In addition, ten years of continuous history produce highly reliable multiple regressions to use to project into the future.
So we have seen very reliable estimates of the increase in numbers of developers using Cloud as a development platform. But in addition, new estimates for developers involved in Big Data and Advanced Analytics show the worldwide number is up to 6 million, while the biggest percentage gains, with a 34% increase in just one year, belong to the 2 million developers who are now targeting IoT systems.
If we consider these huge growth areas, it becomes clear that there is a convergence here and an inter-reliance that knits it all together. IoT is enabled by Cloud. Without a Cloud infrastructure the data that sensors produce, the information that is collected and acted upon would be constrained to a local environment and restricted by limited scalability.
Big Data is the form that data in an interconnected world often takes. Videos, aerial photos, pressure sensors in addition to numerical and text formats all have to be ingested and processed, and advanced analytics, often with the help of machine learning, must be employed in order to analyze and ultimately make sense of the whole picture.
Couple all this with the rise of platforms from virtually every major company in the world and we can begin to see a new world in which most everything works together.
Clouds provide the enablement and even the creation of the future. Their shapes growth shows our progress and their shapes show our direction.
It looks like machine learning has taken the developer world by storm. Among those developers who are working on projects that involve Big Data today, over a third (35%) are using some form of machine learning in their applications. And while the finance and insurance industry shares the top spot on the list of targeted industries for machine learning with IoT, they each only account for 13.4% of the implementations. This shows a highly fragmented market, where no one industry dominates in the types of applications that are being imagined and created by developers for machine learning solutions.
In response to the huge interest in this form of artificial intelligence, major manufacturers are racing with each other to provide tools and APIs to facilitate ML on their platforms. IBM has long been offering Watson APIs on their Blue Mix platform, while Microsoft has an entire Cortana development suite on Azure. Amazon provides ML APIs for AWS. HP has Haven on Demand. The list goes on and on.
But other than supplying the tools and APIs for developers to use, how else can ML benefit developer programs?
It turns out that there is actually a very rich set of capabilities that can be added to a developer program through implementing machine learning. Just a few thoughts come to mind. How about using ML to sort developer inquiries in an intelligent way to spot common themes or problems with products or tools? Or, maybe when a developer accesses an API, use ML to suggest other appropriate APIs or tools? ML can be used to track a developer’s interests and movements within the developer program portal and then anticipate his needs and offer suggestions for additional documentation, training or tools based on his past behavior. And, of course, chatbots can be used to supplement tech support and training – maybe even one day replace the need for humans in those functions.
When we measured the complementary technologies being used, real time event processing was cited as a factor in 30.8% of ML applications. Image recognition and description (the ability to spot faces or specific things) was a factor in 28.9% of organizations’ use cases, and pattern recognition (the ability to see the same thing again) accounted for 28.3%. Video processing was cited in better than one use case in four (25.6%), suggesting strong applications for surveillance and physical security.
Those are use cases for the general population, but with just a touch of imagination, these can all be folded into a developer program to provide new and exciting offerings to support developers and enhance their experience with your program.
At Evans Data we do literally dozens of in-depth developer surveys every year. There’s ten focused surveys of our own, plus typically twenty to thirty custom research projects for private clients. Most surveys are fairly long and technical and all have at least 400 respondents (that’s where you get the industry standard of plus or minus 5% margin of error). Many of the surveys are worldwide with regional or country quotas that then build up to thousands of developers. That’s a lot of developer data!
And with all that data we inevitably find that clients want it cut in various ways that we wouldn’t have thought of. They might want to look at something so broad as all the results cut by company size or platform usage. Or it might become so specific that they want to look at and profile only those developers who reside in Brazil, work for companies with more than 1000 employees, target Android, and use Java. Or maybe they want to see the crossover between mobile and IoT development, or maybe they want know which region and industry is the leading area for machine learning implementations.
As you might guess, the quest for just the right type of data can get dicey. As data gets sliced thinner and thinner the margin of error increases, although with enough data this doesn’t become a problem until it gets extreme. We do provide guidance along those lines
However, the other thing that a relentless desire for unique views into the data brings is a large time sink. Manipulating the data manually takes many man-hours which is costly in terms of time, resources, and money. And manual labor makes little sense for a technology company, so we’ve come up with a Data Analytics Console that enables the end-user clients to drill down on any item in any configuration they want. Currently available for our Global Development survey series, it takes over 160 raw data points (questions) provides for 4 different crosstab for each one and allows for 26 different filters to be applied. Multiple filters can be selected and multiple combinations of filters can be implemented at the same time. To count the number of combinations, we have to compute the number of permutations 26 filters can be arrayed, while accounting for the fact that a user can choose one filter, two filters, three filters, anywhere up to 26 filters at the same time, This allows for 42,949,672,320 total possible charts – though applying too many filters will give you unusable results, which is why we urge caution and restraint.
Check it out here:
Thirty years ago the term platform was used almost exclusively to mean operating system. As the underlying software layer, operating systems provided the “platform” on which applications ran. However, it’s been a long time since the term was restricted in that manner. Today, there are many types of “platforms” including servers, devices, Cloud services, and the use of various APIs. In fact any company that publishes an API can be said to have a platform.
Last month I was invited to give a presentation at M.I.T.’s Platform Summit. The name of my talk was “Platform Wars: the Battle for Developers”. You can download a copy of it here: http://www.evansdata.com/?mit2016&s=blog
The theme of the summit, now in its third year, was that platforms are proliferating everywhere at a tremendous rate. The Center for Global Enterprise did a study recently that cited 170 different companies with a market cap of over a billion dollars that each has a software platform. That’s just the largest companies. Consider those many many more that are smaller but still significant and it’s very clear that the world is swimming in platforms. The world is interconnected by software, and Cloud plus IoT are technologies that are enabling this new way of interacting in commercial enterprises. If a company wants to be competitive in driving innovation in its industry, if it wants to be a part of a larger interconnected whole, or if it just wants to modernize its supply chain, it has to publish APIs and that means provide a platform.
But platforms are nothing if developers don’t adopt them, and that is where the battle comes in. Companies today that were never before concerned with software developers must now find ways to recruit them, support them, and maintain and – yes – grow a thriving developer community. That’s where developer programs come in.
In our latest Global Development survey from Spring 2016, the largest plurality of developers said that the main reason to chose a platform was the quality of the developer community support. Two-thirds of developers only access APIs that are supported by a formal program. Three quarters say that lack of a program makes the development process harder or significantly longer.
The importance of a developer program can no longer be ignored. It is no longer a nice to have. Now a good developer program is a strategic competitive asset, and one that is critical to the future success of any company.
At Evans Data we started estimating the worldwide developer population in 2006, and to make it more useful, we also overlay the results from our semi annual Global Development survey which is conducted worldwide in 7 languages. That way we can tell you not only how many developers there are in China, Portugal, or wherever but also how many Chinese developers target mobile devices or use Java, etc etc. We have published updates every six months and are now on our 20th edition.
It’s not easy making estimates of the worldwide population of developers. If a country publishes that data, then we use that information, but very few countries do that, so instead we take data from a variety of reliable published sources (like World Bank, CIA, IMF, and so on) which correlates with developer population and feed it into a proprietary model. Over the years our source list has grown and our model has become more mature and sophisticated. We are very confident in our developer population estimates.
But sometimes we get questions when our estimate doesn’t match that of another source, like BLS or another vendor, and usually that is due to definitions. For example take IDC’s population estimates. In 2007 IDC published a “Worldwide Professional Developer Population” report and estimated that in 2007 there were 13,085,000 developers worldwide and that by 2011 there would be 17,214,000. However in 2010 they published this same “Worldwide Professional Developer Population” report and that year estimated there were only 8,500,000 developers in 2007 and that there would only be 10,450,000 in 2011. Not only had 6.76 million developers disappeared from their 2011 forecast, but 4.5 million had disappeared from the past! What could have happened? In their latest 2014 estimate they now think that there are 11 million professional developers but that there are also enough hobbyists to bring the number up to 18.5 million worldwide total. So the answer was in their definitions.
In our Developer Population Study in 2014, we estimated there were 19,031,400 developers worldwide – pretty close to the total 2014 IDC estimated. Today we estimate there are just over 21 million, but we’re not adding on 7 or 8 million hobbyists because we’ve never seen any evidence of any kind to justify a sizable number of people writing code who are not coders. We see plenty of moonlighters – developers who work on their own projects on their own time, but are still employed as developers in the daytime, but not actual hobbyists. In fact, when we ask developers about their involvement with the creation of software, the number of hobbyists typically doesn’t reach past 4 or 5%.
However, we do include managers in our total count. Our Developer Population Study not only includes coders but also people who code and manage a team, people who only manage a development team, and upper level CTOs and CIOs. The total number of developers who only code plus those who code and also lead a team accounts for about two-thirds of our developers, and those who are solely development managers are another 20%. The other 15% are the hobbyists, students, academicians, and people who write code for their jobs but don’t consider themselves to be professional developers.
So it all comes down to definitions. We like to count everyone who is actively involved in the creation of software from rank and file coders to architects to team leaders, development managers and all the way up to the CTO.