For a long time, programming was one of the few fields where the barrier to entry was almost entirely free. Almost any computer made in the last decade is sufficient to learn, build, and deploy production-grade software. The internet is filled with all the knowledge you will ever need; in the rare case that you do not mind sailing the high seas, you can learn anything about software engineering for free.
This fundamental accessibility has not changed. You can still learn to code— even more so with LLMs. You can still run compilers on older machines. You can still deploy software from a laptop.
Before we start, let me define a few terms.
Production software
A piece of software needs to meet these two conditions to be considered production software:
- It has a significant real-world impact, or is a dependency of another production software.
- It has a user base, either consisting of end users or other developers.
One exception is defined to deal with the existence of the demoscene:
- Software as a form of artistic self-expression, or software where the program itself is the medium of consumption, is not considered production software.
The reason for this is that art can exist and be meaningful without consumers; production software without users is not very meaningful or interesting.
Let us look at a few classic examples of production software:
- cURL — saying that it is widely used would be a huge understatement.
- Linux — no explanation required.
One of the distinct advantages of programming as a hobby is instant gratification. Previously, you could achieve meaningful real-world impact without capital. A single person could:
- Build production software on their existing computer.
- Publish it on the internet for free as open-source software.
- Gain a user base and have real-world impact.
This is why I fell in love with building software. I want to build things that people use and love to use. But this is slowly becoming impossible to achieve without capital.
With the advent of LLMs, the barrier to entry for creating production software has shifted from having a computer to having thousands of dollars to spend on model tokens.
Programming is NOT free anymore
Let us look at some examples of production software built using LLMs:
- TypeScript — Microsoft ported TypeScript from JS to Go using LLMs.
- vinext — Cloudflare ported Next.js to Vite using LLMs.
Today, you need capital to build open-source software. Astral raising $4 million in seed funding would have sounded absurd to me two years ago; now it makes sense.
You can still build production software without LLMs; it is just not practical anymore.
It is like asking a person who cannot afford a computer to write code on a piece of paper.
If producing software that reaches users now implicitly requires sustained spending on model usage, then the field moves closer to others where financial backing is a prerequisite for visibility.