In the beginning, there were painters. They were artists and chroniclers of reality.
At the RailsConf keynote, Neil Ford claimed that photography changed painting, by freeing painters from the burden of representing reality. He then went on to claim that “enterprise java” development will do the same for programming - freeing us from the drudgery of faithfully copying business processes.
This is sort of correct - we are (slowly) being freed from the boring and repetitive parts of our craft, but not because we’re outsourcing those pieces to India and Romania. Just like painters, we’re outsourcing those pieces to machines. Libraries, compilers, and frameworks free us from “accurately” representing the computers with which we’re working. More importantly, we’re making progress from the other direction, taking the simplest business problems and automating them too. Spreadsheets freed up programmers from developing simple math applications. Google Docs Forms and similar things mean that basic form-crud will soon be a thing of the past. These problems will be solved by the combination of machines and non-experts, just like the “capture this scene” problem is solved by a non-painter and his camera.