Here’s a thought experiment on application development. How long would it take the global population of software developers to create all the applications that the world demands? Sounds difficult to answer? Well, actually it is not. All we have to do is to compare the demand for applications with the world’s ability to meet this demands. Here we go.
Thanks to Microsoft, it is surprisingly easy to put a number to the world’s demand for applications. Here’s a statement from Satya Nadella, Microsoft’s CEO:
“500 million apps will be created by 2023 to drive transformation and productivity for every organization.” (Satya Nadella, 2020 Shareholder Letter).
Let’s go one level deeper and think about how many lines of code each application might have. Now, admittedly, lines of code isn’t an undisputed metric for estimating application complexity (in fact, Bill Gates once famously said that “Measuring programming progress by lines of code is like measuring aircraft building progress by weight”), but for the sake of this thought experiment, it’s an interesting question to ask.
To give a few examples: a mobile phone app has around 40,000 lines of code. Google’s codebase, for comparison, has more than 2 billion lines of code. 40,000 to 2 billion is a pretty wide range, but let’s take the low end as a reasonable guess. So let’s assume that 40,000 lines of code per application is accurate.
This then means that the world demands 500 million new apps at 40,000 lines of code each. Or a total of 2E+13 lines of code till 2023.
20,000,000,000,000 lines of code need to be written until 2023.
Now let’s take a closer look at the supply side. According to McKinsey, there are 20 million software developers worldwide. And on average, a developer creates 6,000 lines of code per year. Again, the lines of code number per developer / year is somewhat disputed and difficult to measure. Obviously different programming languages can express the same concept with more or less lines of code. But there are many sources online that say the average developer writes 10 to 15 lines of code per day. They usually quote a book called “The Mythical Man-Month“, written by Fred Brooks.
This then means that in any given year, the world’s 20 million developers write a total of 96,000,000,000 lines of code.
96,000,000,000 lines of code can be written per annum.
How long then does it take the world’s developers to create 500 million applications? Dividing demand by supply, we get to 83 years. Uh oh (we’re accounting for the fact that Microsoft assumes 500 million new apps will be build until 2023 or 250 million apps per year).
There are a couple of conclusions we can draw from this:
To meet the world’s demand for new applications, new tools will play a role. Does this come as a surprise? Not really. Software engineering is a constantly evolving field ever since people started using code to give computers instructions. Low-code development is just the next step in this evolution of software engineering tools.
The world demands much more software applications (and in turn code) than developers can possibly write. That’s why better software engineering tools, such as low-code platforms, are important. They represent the next step in the evolution of software engineering.