As a software engineer turned CEO, I’ve watched our craft evolve in leaps and bounds. We’re now entering an era where you can literally talk to your codebase. And not in the sense of some sci-fi metaphor — but engaging in genuine dialogue with an AI about your code.
In this newsletter, I’ll walk you through how we got here, what challenges to expect, and how to make the most of your new coding companion. We’ll journey from the old days of writing every line of code by hand (Software 1.0), through the rise of neural networks (Software 2.0), to today’s world of conversational programming powered by large language models: Software 3.0. Along the way, I’ll share practical tips and a candid look at the tools and models leading this new frontier.
Think of Software 1.0 as traditional programming: humans write explicit code, line by line, like chefs following a precise recipe. This was the only game in town for decades. Then came Software 2.0, which Andrej Karpathy famously described as “the beginning of a fundamental shift” where we train neural networks instead of writing all the code ourselves. In Software 2.0, developers curate data and let the computer learn the program (for example, training a model to recognize images rather than coding all the rules). Here, the “code” exists as model weights and parameters, which we don’t directly write — we optimize or “grow” them using data.
Now we stand at Software 3.0, the dawn of prompt-driven development.