Software 2.0 (Andrej Karpathy, 2017)

“Software 2.0” is an essay published on November 11, 2017, by Andrej Karpathy, then director of AI at Tesla and previously a researcher at OpenAI and Stanford. It argued that neural networks were not just one more machine-learning tool but the beginning of “a fundamental shift in how we develop software.”

Karpathy drew a contrast between two paradigms. Software 1.0 is the familiar kind: explicit instructions written by a programmer in a language like Python or C++, where a human specifies exactly what the computer should do. Software 2.0 is written in the weights of a neural network. The programmer no longer writes the logic directly; instead they assemble a dataset and a network architecture, and an optimization process (training) “compiles” that data into a working program. As he put it, most of the real work of Software 2.0 development “takes the form of curating, growing, massaging and cleaning labeled datasets” rather than writing code.

His central justification was practical: “a large portion of real-world problems have the property that it is significantly easier to collect the data than to explicitly write the program.” For tasks like image recognition, speech, and translation, no human can write the rules well, but a network can learn them from examples. Karpathy then sketched the consequences - that data and tooling, not source code, become the locus of engineering, and that whole categories of programmer work would shift toward dataset and model curation.

The essay named a trend that the next eight years made mainstream, and Karpathy himself returned to it in his 2025 talk “Software Is Changing (Again),” extending the idea to a “Software 3.0” era in which natural-language prompts program the machine.

Sources

Last verified June 7, 2026