Helping with the taxing tech problems that get less attention
The question that just will not die ๐๐ฎโ๐จ
Please excuse the lengthy rant but I got nerd sniped at work today and need to finish getting something off my chest.
“When will we be able to replace programmers?”
You see, every so often this idea comes back around, usually because of some new visual code generator tech. Obviously it’s current run is down to AI. Even very, seriously respectable, famous personalities from the software development community are giving the idea some credence. But very few people seem to look much beyond the surface to understand what the question means.
(Note that despite my perspective focusing on programming here, this applies equally to any application of Artificial General Intelligence)
In a material world
There are those that have regularly lifted the veil to look deeper into the true nature of software development. One such individual is the inimitable Kevlin Henney, as demonstrated when he stated:
“The act of describing a program in unambiguous detail and the act of programming are one and the same.” – Kevlin Henney
The act of describing a program in unambiguous detail and the act of programming are one and the same.
Through their shared experience we can begin to observe that software code is not some raw material that just needs more efficient manufacturing techniques so that we can do away with these pesky, costly developers. Business Information systems operate in insanely complex environments. Business is complex, human communication is complex, human behaviour is complex – in fact all of this is so complex I’m not certain we even understand just how complex it really is. Computer software code is the only means we have of unambiguously capturing all of the rules inherent in an information systems’ environment. Programmers now work with computer languages that operate at just about the highest level of abstraction possible. Humans have been trying for decades to simplify and abstract even further but to little success. A beautiful analogy of this can be found in the attempt by the #NoSQL movement to eliminate SQL. The idea seemed to be that SQL – having been designed in the 70s – is clunky, ugly, old and complicated. It only took a matter of years for NoSQL DB developers to seem to realise that ‘Set Theory’ is critical for working with data held in information systems and so they begrudgingly re-introduced versions of SQL, which as you might have guessed, is a form of communicating Set Theory.
So you see the job of a programmer is not to churn out code but to drive out and automate business information processes, navigating through all of the permutations and ambiguity inherent in the reality of business. Business doesn’t stand still, businesses change by the second, succeeding through innovation, pushing new understanding of human dynamics. I could be proven wrong on this but I simply do not see how an AI or any other automation tool will ever be able to achieve this until it is capable of understanding the deluge of ever changing yet formative lessons we – as humans – acquire and share every second of our working lives.
So what will it do then?
If I might make a more concrete prediction here it is that I expect we will hit a new uncanny valley – much as we have with graphics and robotics – whereby progress towards ‘AGI’ just cannot seem to overcome an ever growing chasm of being ‘close’ to the promise of full, general AI automation. This chasm will come to reflect the vast complexities inherent in human behaviour and communication and will take some time to cross.
What sort of complexity are we talking, exactly?
As I shared recently on LinkedIn, a great way to demonstrate the challenges being faced here is in expressing that we are not just talking of the need for technology advancement. We are also depending on many substantial breakthroughs in science.
Just a few years ago Google published the results of a project to completely map every cell and connection in just ONE cubic MILLIMETRE from a human brain. This amounts to 1,400 Terabytes of data, and yet this is only 0.000076923% of the whole human brain. Until we fully understand how our brain processes information and creates thoughts, how can we say we have fully reproduced a general intelligence close to that of our own? Sure you can begin to constrain the meaning of AGI like many are doing, but even using the term ‘intelligence’ here poses impossible questions without fully understanding and agreeing on a) what we define as intelligence (hotly debated), and b) how it emerges from the matter of our brains – otherwise its just a meaningless label that seems effective in building hype.
The too-late TL;DR
So the TL;DR here is this: Don’t worry, be happy getting paid to code… someone needs to do it ๐ Because, after all is said and done, we humans don’t understand our own naturally occurring thought processes and communication mechanisms well enough to replace them – not yet… not by a long way.