Who Builds Software Matters

On the declining production costs and coming remixability of software

“As we become more sophisticated, our ideas about what our word processor, ourgraphics system should do for us diverge more and more from those of the initial designers. We now want to edit our tools as we have previously edited our documents.”

-Alan Kay, Apple Computer Corporation, Sept 1984

The High Cost of Software

Software is expensive to build today because there are very few software engineers. There are about 8 billion people in the world, but only about 28 million software developers. So the number of people who can build software rounds to roughly 0. Yet everyone in the world wants and needs software. Up till now, we’ve been prevented from getting what we actually want due to the high cost of production. Talented engineers only have a limited number of hours in a day to build so they need to get paid for their rare skill.

Software for the Masses

Building software has been expensive so we’ve become accustomed to accepting software designed for the masses. Today’s designers aim to serve the broadest set of users possible so the high cost of building gets amortized over a large number of people. That means no one gets exactly what they want, but everyone gets something that’s good enough to be useful.

AI changes WHO builds software

AI brings us tools that democratize software development. As production becomes cheaper, it changes who can build software. This changes how software gets designed, developed, and deployed, which creates an explosion in how much new software gets built. We can appreciate how AI code generation models help software engineers build. It’s easy to see how these tools can improve their efficiency. But we can organize these same tools in ways that change who builds software. And who builds software matters.

You can squint and see a future where we can all build our own custom software. We’ve seen this kind of auto-generation in the domains of language, images, and video. We'll soon see it in the domain of software creation.

Free-to-build encourages remixing

In the future you’ll notice a simple need and you’ll be able to conjure up a micro-app in minutes to address it. The economics of creating and owning software changes. Anything a user dreams up is low effort to create and copyable by someone else. That’s a good thing. It makes software more like media. Micro-apps become building blocks. Other users can remix them adding new functionality. We can now equip software with the same memetic super powers as we have with short-form video. This is the future of software. But no one has built the end-to-end tools to enable this yet.

These user-to-user creative interactions make the value of software compound. But we’ll need some network (or protocol?) to manage the specifications and data across these apps if they’re going to be collaborative.

Forget the drudgery of design, implementation, testing, deployment, monitoring, upgrading, and data migration. This will happen behind the scenes. Who thinks about flipping electrical signals in silicon these days? We operate at a higher level of abstraction.

Implications of an AI codegen revolution

+ The amount of software created increases by at least 3 orders of magnitude. Likely much more like 5-10 orders of magnitude.

+ The concept of “charging for apps” feels dated. If everyone can conjure anything into existence for pennies, why “buy” when you can “create”? “Make me a free version of app ABC”.

+ The importance of modern app stores declines. Non-technical users create micro-apps and use them. For this to work it needs to be simple. This future might look like something of a super-app for user-generated micro-apps. Or they get deployed as PWAs.

+ How data gets stored and shared could get radically reimagined.

+ These micro-app/remix concepts may themselves become the basis for a new type of app store. If this were a company, I think it would likely become the most important company in AI.

+ A new layer of collaboration commoditizes adjacent AI layers. A hyperscaler could attempt to build this layer, but it seems as likely as someone new doing it.

At this point it's all up for grabs. If you’re building something like this DM me — I’d love to play with your project and give feedback!

Reply to this note

Please Login to reply.

Discussion

Actually 28 million is way too many. That’s 1 programmer per 285 people.

It very ineffective per programmer to not even serve 285 people.

We don’t need more programmers. We need more good engineers. But, maybe the only way to have more good engineers is to have more base number.

Yeah, I agree 28 million is high. I was being generous. Reality is probably fewer.

But for the purposes of my argument I’m saying “roughly 0” which I think you’d agree with?

A given programmer/engineer often builds a piece of software likely aiming at more than 285 people. Because a typical person (from that pool of 285) needs thousands of pieces of software for daily life.

Think about the n*m of programmers*users. It’s practically infinite how much software we’d like/need. But the more custom a need is the harder it is to justify the cost.

Yes, I totally see your points and I agree that needs to more softwares.

We should take game industry as an inspiration. Many games have mods and modular design. Minecraft is the best example. Without coding, players can create interesting new things from existing rules.

However, functionality software is not like this at large. To extend a functionality software, one has to code. Examples are:

Small nostr clients, VS code extensions

Worse, centralized platform software does not even allow you to extend with code.

Therefore, to address this problem, having more programmers is not the key. To have more no-code, extendable software is the key.

When users find composing with existing modules (minecraft building blocks) not enough, they will have a reason to learn the code.

👀

Hmmm.. we’ll put.

Just DM’d you mate. Thanks