Software 3.0: Software Development in the Age of AI
How Generative AI is transforming software development
Introduction
Andrej Karpathy (2017 [1]) wrote an influential article on “Software 2.0,” describing a shift in software development from traditional rule-based coding (what he calls Software 1.0) to an approach driven by machine learning models.
Since then, we have witnessed another shift in software development called, “Software 3.0.” Generative AI is the primary catalyst, but there are other contributing factors.
In this article, I will describe the evolution of software development by comparing three chatbots that represent each version.
I will conclude with my take on the strategies to leverage and embrace the opportunities provided by Software 3.0.
Turing Test
Alan Turing, the pioneer of AI and the protagonist of the movie Enigma Machine, proposed an imitation game where a human evaluator (C in the diagram) judges whether the correspondent party is a machine or a human through natural language conversations: i.e., text message chats.
The idea is to bring down the lofty philosophical question of whether machines can think or not to something more tangible and measurable like whether machines can exhibit…