Back in the day when software was taking off, some people measured the output of programmers by looking at the number of lines of code they wrote. This seems to make sense… coders write code, therefore code is the output, so let’s look at how much of it there is.

What people have since realized (mostly) is that this is actually totally backwards. Code is not output. Code is cost. Measuring a programmer on how much code they write is like measuring a procurement agent on how much money they spend.

Programmer Efficiency = Goals accomplished / Code written

The job of a programmer is to accomplish some kind of goal. Maybe that’s letting a customer accomplish something. Or giving a user a cool experience. Or getting an MVP into the market.

Writing code is a necessary evil programmers do to accomplish those goals, just like spending money is a necessary evil to obtain goods and services.

Code is costly upfront because it takes time to write. But it’s even more costly down the line, because then you have to maintain it… when you change things, or when the external environment changes, it often breaks. Worse, any future code you write has to be compatible with your old code!

The more code an organization owns, the longer it takes to write new code

So, the art of programming is really the art of accomplishing a lot with a little. At an individual level, this comes down to programmer skill, but the languages and tools a programmer uses can also have a huge impact.

Our goal with Bubble is no more code. We want to let people accomplish their goals — building amazing products and apps — while writing as little code as humanly possible. We will probably never reach code 0. But we’re going to push as close to the limit as we can.