Code is everywhere these days. There is code running in your watch, your car, your thermostat. You can't make a call, pay a bill, or book a ticket without code. Code is what allows companies to create new businesses and differentiated user experiences. "Software is Eating the World," as Marc Andreessen put it.
The amount of code in systems tends to grow over time. Here is a beautiful illustration of the size of various code bases. As a first approximation, the historic growth in the lines of code is exponential, which is also confirmed by this chart of the growth of the Linux kernel. One fascinating aspect of exponential growth is how quickly the future outweighs the past. We have been writing code for about 75 years but it seems fair to assume that over the next decade we will write 4-5 times as many lines of code as we have up to now. Put differently, of all code that will exist in the year 2026, 75-80% will have been written between now and then (this is based on a 20% annual growth rate).
With that growth comes the question of whether all of that new code will work. We all encounter code that is buggy, has security holes, or doesn't run at all. An extreme recent case are the US F-35 fighter planes that cost $100 million per plane but have largely been grounded because their software isn't working.
When the question of code quality comes up, many people just shrug — they see bugs as an inevitable part of software development. Worse yet, there is a common mantra that you can have any two in software: fast time to market, low cost of development, or high quality, but never all three. This is also what people used to believe about manufacturing before the rise of techniques such as lean manufacturing and continuous improvement. As it turns out when you lead with quality in manufacturing you can in fact have all three: quality, speed and low cost. The same will be true for code, which makes assessing and managing the quality of code a key challenge for the coming years.
We are excited to be investors in New York City-based Code Climate, which provides tools to do just that. With Code Climate you can make quality improvement explicit, continuous, and ubiquitous, by incorporating source code analytics throughout the workflow of your entire development organization.
You can read more about the financing and the company's plans on Code Climate’s blog. Also: Code Climate is hiring.