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.
Back in the ancient days of the nineteen nineties, only a very few companies had any types of program to support the developers on their platforms or tools. Of course, back then very few companies had platforms or tools. Wow, has that changed!
In today’s interconnected world virtually all companies need to publish APIs in order to grow or stay competitive. From shoes to thermostats to cars to tractors or payment cards or factories – companies everywhere now have a “platform”. But a platform is nothing without developers, and thus the need for programs to recruit developers and to support and assist them once they’re onboard has blossomed.
Evans Data has been studying developer programs for over 17 years, and has vast knowledge and insight into what makes a developer program successful. Here’s a few of the essentials of programs that you can take as guidelines to help make your program a success.
1) Technical information is key. Developers join your program for assistance in working with your technology. Be it an API, some SDKs, a new device, or a full-on platform, the main thing developers want is information about how your technology works and how they can interact with it. The first things you need to provide are tutorials, documentation, tips and tricks, sample code and use cases – the more the better.
2) Development tools are expected. In a survey last month we asked about what developers expect vendors to provide for them in a program, and development tools was at the top of the list. The tools may be SDKs specific to your technology, they may be Cloud-based or distributed for on-premise use, they may be very specific or more general, but they must be provided.
3) Tech Support is required. Once you’ve got developers adopting your platform you’ve got to support them – it’s to everyone’s advantage. That means you have to provide answers to their questions and help with their issues. Happily, the days of hiring engineers to man the phones has largely been replaced by forums that let you crowd-source your tech support to other developers. That’s a good start, but you also need to supply online chat, email support, and some phone support. The important thing is – don’t dumb it down. Developers expect support from other developers.
These are the three key elements of any developer program, but there’s a lot more to forming and running a good program than this, and we’ve done something about that.
We’re proud to announce Devrelate.com, the only online academy for developer relations professionals. Devrelate’s developer relations classes will take you step by step through setting up, enhancing and maintaining a world class program. And once you’ve completed the courses you’ll receive full certification.
It’s all online and all at your own speed.
In software development, every year is different from the last or the next. Sometimes it seems that as quickly as we can see something in the developer universe it changes. And that perception is actually pretty close to the fact, though it’s more a reflection of the velocity at which our technology landscape changes rather than the mercurial nature of software developers.
2015 was a good case in point. When we look back at the major evolutions that technology made and the ones that were embraced by the industry there’s a few that stand out. So here’s an Evans Data recap of what we thought were some of the major technologies that shaped the last year for software developers.
Internet of Things
Internet of Things is sometimes called Internet of Everything, and for good reason. We can connect our homes so that the thermostat, coffee maker and toaster all come on as we wake up in the morning or switch the lights on and unlock the door when we get within 100 feet of the house. Intelligent tattoos can send your doctor information through the Cloud. Your car will soon be able to drive as well or better than most people, and large scale factories will be run by systems and sensors rather than floor supervisors.
This year was definitely a solid year for Internet of Things development. The percent of developers worldwide who are currently working on Internet of Things projects rose by 48% over a year ago when 18.9% were working in some way on an IoT project. Today 28% are doing this. And while the imagination runs wild on new IoT implementations, software developers are constantly coming up with more.
Just as Internet of Things found more solid growth, extending itself into 2015 as the top of mind technology implementation, last year also saw the dawn of wide developer interest in cognitive computing – a term that includes machine learning, deep learning and various forms of artificial intelligence.
This year a little more than a third of developers worldwide incorporated some form of cognitive computing into their projects and more than a quarter were adding in some form of machine learning. This is not just a data point that shows a milestone on the path to the future. This shows a thorough evolution in the way that developers program and the way applications work.
Cloud and PaaS
Speaking of evolutions, 2015 saw the largest vendors in the software industry shifting their developer programs and their tools more and more into the Cloud. The venerable Rational tool suite is now BlueMix – a PaaS existing entirely within the Cloud. Microsoft pushed and prodded its developers into the Azure Cloud with discounts and free trials. Others also moved portions of their developer program into the Cloud, portending a future where developer programs all become intertwined with a PaaS.
Accelerators and Startups
And last, but by no means least, we have to mention the frenzied pace at which major companies launched accelerators, incubators, contests, and funding drives to identify the most promising startups in these emerging new development areas, and convert them into using their technologies. Startups with talent and a good idea will find no trouble getting recognized, funded, and actively mentored by the biggest and the best in the industry, since everyone wants to discover (and capture or convert) those startups that will be the leaders in the new technologies that will be shaping our realities in the future.
So, as the year draws to an end, we can look forward to the future with great interest. If today is the prologue for tomorrow, then 2016 is going to be amazing! Happy Holidays!
The world is rapidly becoming more interconnected and many companies that never before had an interest in software development are finding that they need to publish APIs, and promote them. Suddenly they have a “platform”, and a platform is nothing without developers, so they need a developer program and outreach.
Many of them come to us at Evans Data, wanting to know how to do that, and how much it will cost.
So here’s the thing. There’s no one size fits all for developer programs. If someone says to spend x% of your marketing budget on your program, they don’t know much about developer programs. The money and resources needed are going to vary within a lot of parameters.
One of the first and most influential developer programs in the history of the industry was at Borland 25 years ago. At the time there were 100s of thousands of developers in the program, the marketing outreach budget was well over $2M just for developer outreach and, yet there were only three people employed in the actual Developer Relations program. The overhead of that particular department was extremely low because they could draw on a lot of other resources within the company. Tools marketing provided a lot of outreach. The company tech support provided that function, and a corporate events team helped put on conferences, beta events, and so on.
On the other hand, in a company that is new to software development there may be no other resources available to support a program, and the actual program overhead may need to be considerably more in order to provide the required services.
Another factor is the goal for the program. Is it to provide simple tech support for a well-known API, or are there elements of outreach and training built-in? Is it really a partnership support system for a limited number of people, or is it to be designed for a broad audience with possibly worldwide reach?
So, each program initiation and evolution is different. We can sit down with you, understand your goals, and help you determine the type of program you need. After that the cost is easy to calculate.
In addition to the focused development surveys we conduct regularly on mobile development, Cloud development, Big Data and IoT, twice a year we conduct a very large and very broad global survey of software developers. It spans across development specialties and we sell this survey in geographical “chunks” with discrete editions for North America, EMEA and APAC.
Most companies are interested in maybe one or two regional looks at developers, but larger multi-nationals buy all three which gives them insight into regional differences as well as regional specifics. And wow, are there ever differences!
For example, North American developers, who were once the oldest by median age are now younger than Europeans and are almost as young as developers in the APAC region. What changed was the US economy in 2008, exactly when the age curve began a steep decline as older (and thus usually more expensive) programmers were laid off at the same time that mobile development was inspiring young recruits.
Years of programming experience naturally echoes this. Developers in all three regions have a similar percentage who have been programming for 11 to 15 years, but the profile for APAC developers is very different when we look at those having less experience and those having over 20 years experience.
And if we look at the number of years their companies have been in business, we can see in sharp relief the vast difference between Europe, with all its extensive history and old company culture and the new Asia.
We’ve made a brief one-pager on developer demographics across regions. For a look, see here:
Although there are many new “as a service” implementations enabled by the Cloud, the three most visible are Infrastructure as a Service (IaaS), Platform as a Service (PaaS) and Software as a Service (SaaS). For software developers these present very different configurations with differing benefits and drawbacks. Thus it’s no surprise that once a service has been instituted and adopted the criteria for evaluating that service varies considerably.
In our recently released Cloud Development Survey, a report of results of surveying over 500 software developers active in developing and/or deploying to the cloud, we asked about the evaluation criteria for each. For more info see here – http://www.evansdata.com/reports/viewRelease.php?reportID=27
When it comes to the bare metal IaaS, the top consideration for software developers is cost savings, followed by time savings. The ability to use hardware without purchasing it individually leads to much more efficient usage and thus cost savings. Developers can develop, test and deploy their apps on “shared” hardware and so can do things like scale up and down that would ordinarily be cost prohibitive. This was the primary virtue of Amazon Web Services cloud product when it pioneered this Cloud category and has been a main selling virtue for IaaS ever since.
With PaaS things get a little bit more complicated. Besides supplying the infrastructure, a PaaS provides a development environment, an operating system, and often tools and libraries to help developers code, test and deploy their apps. When considering this type of service, support becomes the number one criterion in evaluating the service, followed by time savings and overhead savings.
If an application is being delivered via SaaS, developers are most likely to be concerned with the application security first, and then think about overhead savings and support. Does this show suspicion about applications they don’t control? Maybe, but maybe it also reflects on the fact that developers may also be deploying their own applications to the Cloud and so echoes one of their primary concerns in development.