About the dying of a species
Soon there will be no programmers left.
When I started programming in the 2000s, I thought programmers were people who fully understood the computer and the Internet. I quickly realized that this was not the case. But is that good or bad?
Later, as I gained more experience, I always felt that there were two types of programmers.
Programming as an end in itself: The first group thinks very algorithmically. They are interested in finding an interesting solution to a problem. As a rule, this group is happy when their code runs more efficiently (runtime or memory consumption) than the standard solution. But that doesn’t have to be the case – if the code lives up to their aesthetic standard, they will be happy.
Programming as a means to an end: Programmers in the second group work primarily on creating added value for the customer. In this case, the customer can be a client or the user. The question that such a programmer asks himself with every action is: Do I create added value through my intervention [for the user].
User-centered thinking is nothing new, even if people like to portray it that way. Especially in game development this is a focus so as not to forget the fun of the game despite all the technology.
Programmers then do not fall into either camp, they are in both groups. However, depending on the challenge, they tend towards the behavior of one or the other. Both groups try to understand deeply the technologies with which they work. The difference lies in the drive. Added value vs. performance. Utility vs. elegance and so on.
Often – at least that’s how I see it – it was mainly the younger programmers who were more likely to find themselves in the second (new) camp. I thought I could make out that there was a big trend towards the new camp. Whether that is the case or not, everyone can reflect for themselves.
Is this relevant in the future?
In his blog Erik Wegner wrote: “Software 1.0 means, creating algorithms through engineering. “
Ok. What about 2.0 then?: “Everything that can be automated, will be automated”.
Derek Weeks said: “Except for writing code, everything can be automated. “
Weell. According to Andrej Karpathy (Director of AI, Tesla) this is a complete misjudgment. Google and Tesla presumably also Amazon, Apple and Microsoft are working feverishly to automate the programming of algorithms. With neural networks, an algorithm is generated, the result of which can be optimized through training of AI. You can also trade with the algorithms generated by AI: Higher performance in exchange for more memory consumption? Higher accuracy at the expense of performance? No problem at all if the entire program is written by an AI.
Software development 2.0 means, optimising by classifying input data until the desired result is achieved. - Erik Wegner
Programmers will become AI trainers. So we help AI to find the desired result, we evaluate and curate the result. The irony is that the future of a professional group is facing a transformation that has itself continuously transformed other professional groups over the past 50 years. Are programmers then doing away with themselves?
Luckily then design is always done by people. We (designers) know what works and what looks good! Not only Adobe disagrees.
Let’s hope that, as is usual with automation, at least as many new jobs are created as are made obsolete.