In 1930, John Maynard Keynes predicted that we would have a 15-hour workweek by the end of the century. It is clear that the great economist has done something wrong.
Welcome to the age of shitty jobs, to put it to anthropologist David Graeber. Since the 30s, there have been totally new industries that don't necessarily add value to our lives. Graeber would probably call most of the work of software developers bullshit.
I don't share Graeber's opinion, especially when it comes to software. But it touches on an interesting point: As more and more processes are automated, most jobs at some point become obsolete. According to an estimate, 45% of all jobs could be automated using current technology. And in time, this will probably be the case.
Hard times (too) for software developers?
In the field of software development, you can see this happening in real time: automation tools have long since sprung up. And that's just one of the many areas where the time-consuming iterative parts have been automated (another field is design, for example).
This leads us to the inevitable question: Are software developers becoming obsolete? If more and more machines they can write code for themselves, what are humans for?
From the design of logic to the design of minds
Software developers are real builders. They build logical connections, algorithms, programs, projects and more. Differences compared to building builders, who build physical things? Software developers build logical things.
With the rise of artificial intelligence, however, there is a paradigm shift. Developers are no longer designing logical links. They are training models on the heuristics of these logical links. In practice, they are moving from designing logic to designing a mind.
And when has this mind been well developed? Goodbye workers? What will the world look like from a computer's eyes?
When asked if they will be replaced by a robot in the future, human workers often don't think so. This is true for software development and many other areas.
The reason is clear: qualities like creativity, empathy, collaboration or critical thinking, in short, "soft skills", are not what computers are good at.
But often that's not what matters to get a job done. Even the most complex projects are made up of many small parts that can be automated.
Do not get me wrong; human qualities are amazing. But we have overestimated the importance of these issues when it comes to regular activities.
For a long time, for example, even researchers believed that machines would never be able to recognize a cat in a photo. Today a single machine can classify billions of photos at a time and with greater accuracy than a human being. A machine may never be able to marvel at a little cat's sweetness, but it is excellent at working with indefinite states. Because this is the photo of a kitten through the eyes of a machine: an indefinite state.
Towards new variants and large scale
In addition to working with indefinite states, there are two other things that computers can do more efficiently than humans: doing things on a large scale e work on variants.
We have all experienced how well computers work on a large scale. For example, if you ask a computer to print the same sentence a thousand times, it will do so without complaining and will complete the task in a split second.
Ask a human being and you will have to wait days to see the job done.
Collectors are basically an imaginative, or mathematical, way of referring to subsets of space that share particular properties. For example, a piece of paper is a two-dimensional variety in three-dimensional space. If you crumple the piece of paper or fold it in a plane, it's still a collector.
Computers are really good at working with variants that humans find difficult to visualize, perhaps spanning twenty dimensions or having a lot of complicated knots and edges. Since many everyday problems, such as human language or computer code, can be expressed as a mathematical variety, there is a lot of potential for implementing truly efficient products in the future.
Where are we, and where will we arrive?
For one thing, code reviews and debugging may soon be a thing of the past. The Swiss company DeepCode is working on a tool for automatic bug identification. DeepMind Google can already recommend more elegant solutions for existing code. IS Scent Facebook can complete small programs on its own.
Not only: MISIM, an acronym for Machine Inferred Code Similarity System, seems to be able to understand computer code in the same way that Alexa or Siri can understand human language. It's exciting, because such a system could allow developers to automate common and time-consuming tasks.
Products still not quite perfect, but these are the beginnings: tools like this will become much more powerful in the future.
The applications? Soon
Some of the first applications of these new automations could include monitoring human activities. Things like scheduling a worker's hours or finding lessons for a student could be optimized this way.
This, in itself, presents enormous economic opportunities because students could learn important things faster and workers could serve during their most productive hours.
If MISIM is as good as it promises, it could also be used to rewrite legacy code. For example, many banking and government software are written in COBOL, which is rarely taught today. Translating this code into a newer language would make it easier to maintain.
In light of all this, then, if software developers don't want to disappear, how can they keep up with the times?
All these new applications are exciting. But above them weighs a great sword of Damocles: what if they made the developers completely obsolete?
Salvation, as will often happen in the near future, is in creativity.
This is an excellent opportunity to move software developers to the earlier stages of a project, i.e. involve them in the planning stages. They not only know what can be implemented and what cannot. With their creativity, they could add value in ways that are not a priori imaginable.
It's been five years since Microsoft's Satya Nadella claimed that "Every company will be a software company". He was right.
Software is King
If the current pandemic has taught us anything, it is that much of life and value creation in recent months is happening online.
Software is King. Paradoxically, this becomes more evident the more it is automated. Automation is turning software nerds into the world leaders of tomorrow.
The revenge of the nerds
When I was younger, people who liked computers were considered unsocial children, nerds, unsavory creatures, zombie-like beings with no human feelings and passions.
The more time passes, however, the more people see the other sides of software developers. Programmer is no longer considered a nerd, but an intelligent person who can create interesting things.
Sure, in a decade (in some cases even a few months) software developers will be doing things we can't even imagine right now. But that doesn't mean the won't work anymore. Maybe they will just change their names and jobs.