A nice complement to this is Andrej Karpathy's Software 2.0 essay. Namely that it is getting much easier to collect the data. Than it ever will be to write the complex programs which can anticipate every case.
Software 2.0
https://medium.com/@karpathy/software-2-0-a64152b37c35
One Model To Learn Them All