Lately, I have been reading a lot about the threat to computer jobs from automation. For example, we have AI systems that can write their own code. And billionaire Mark Cuban predicts that “software will soon begin writing itself, which will ultimately eliminate those lucrative software development jobs”.
I think that people like Cuban fundamentally miss that reality of the tech industry. How do they think that a couple of college graduates can build a tool that can be used by millions of people?
We work on layers upon layers of automatisation. We have been adding layers for decades.
Did you look around lately? More of us than ever are computer programmers, IT specialists and so forth. More automation has lead to more jobs.
Will software write its own code? It does so all the time. The optimizing compilers and interpreters we rely upon generate code for us all the time. It is not trivial automatisation. Very few human beings would be capable of taking modern-day JavaScript and write efficient machine code to run it. I would certainly be incapable of doing such work in any reasonable manner.
Programmers work actively to make themselves obsolete. That is, they work hard to solve problems so that nobody else has ever to worry about them again. The solution to the problem become automated.
Naively, one might think that software automation makes computer jobs less important. This makes some kind of sense if you think that all computer jobs will get automated.
But that’s not how the world tends to work. As automation increases, more and more new jobs are created higher up the tree. We no longer need many people to write C data structures, but we have seen an explosion in the number of web developers, data scientists and so forth.
Yes, up to the point that almost no one can figure out what the actual layout of their data will ACTUALLY be (it IS identical to “some” C data structure(s) one or more) and how it will impact performance.
Just ask a Haskell programmer to predict the memory usage and run time of his program. 😀
Interesting discussion.
But as a veteran programmer I see most of the industry wastes time with the wrong tools, wrong architectures, an the worst of all: wrong abstractions.
There are way too many languages and libraries. It’s all driven by popularity and funding. Like in music, more often than not what is popular is quite poor quality.
The root of this problem is the decision process is driven by emotional humans who are not aware enough of their cognitive limitations. We are like chimps using wheelcarts, bumping into each other and hurting ourselves once in a while.
I predict once the industry figures this out there will be a drastic crunch of programming jobs. And only the best will be able to adapt to this change.