Software 2.0

A lot of what might be considered traditional programming code is in the process of being transitioned from Software 1.0 (code written by humans) to Software 2.0 (code written by an optimization, commonly in the form of neural network training).  In this new paradigm, much of the attention of a developer shifts from designing an explicit algorithm to curating large, varied, and clean datasets, which indirectly influence the code.   

In a 2018 presentation, Andrej Karpathy, Director of A.I. and Autopilot Vision at Tesla, provided a number of examples of this ongoing transition, covering the advantages and challenges of the new Software 2.0 stack, and outlines multiple opportunities for the creation and adoption of new tooling.