I often like to contemplate on what professions will the future hold. In 10 years time, we’ll definitely have jobs nobody could foresee today. Predicting the future is tough. Ask Jeff Bezos who says that people ask him the wrong question – “What will change in 10 years time?”, rather than “What won’t change in the next 10 years.”, as you can build a business around the second question. Until 11 years ago we didn’t have a mass-market smartphone and a job like an “App Developer” would have sounded funny. Until Facebook and Twitter, the title “Social Media Director” would have raised more questions than answers, after all, isn’t the point of media to be social? The web reshaped itself multiple times in the same period. This post is not going to be about predicting the future, there are people much more verse in that area, but to analyze the past and try guestimate the future of developers. How will this post age, only time will tell. Worst case scenario, it will be a great reminder of how difficult doing predictions is.
Developer 1.0 – The Local Developer
The very first iteration of computer development was local. Before computer networks exsited, everyone was looking for that Player 2 to press Start and play Mario or Battle City together. On a PC it was games like Doom and Dangerous Dave. The dominant languages were C, Pascal, C++.
Developer 2.0 – The Server-side Developer
The second wave was server-side development – a massive rack of super powerful machines and hundreds of terabytes of storage. Now you could reduce the weight on the end-user’s machine as long as they were connected to the internet. A new IT species was created – the sysadmin. Developers quickly embraced the revolution as the tools often similar, but the possibilities larger. NodeJS, Node Package Manager, you name it, someone had already hacked together something.
Developer 3.0 – The Cloud Developer
Developer 4.0 – The Machine Learning Guru
The machine learning gurus – the people that help create convoluted and unexplainable neural networks and make multipling a series of matrices produce magic-like results. Some time ago when I was dabbling with Machine Learning and the R programming language, I was most fascinated with Natural Language Processing. However at it’s current state in most of the places where I’ve seen it is purely calling APIs in Python for something that’s already invented rather than try and come up with an innovative approach to solve the problem. I’m sure, in the not so far distant future, we’ll hit the limit on number of regressions and Support Vector Matrices and new approaches will be invented to emulate human understanding.
Developer 4.5 – Unknown
I don’t know what this one will be, but there is usually one large intermediate step before the next big thing. I might be wrong and the Cloud could be it, but it’s just as likely to be a mathematical formula explaining a new way of computarized decision-making. As of time of writing, the most likely contender is quantum computing.
Developer 5.0 – The self-coding computer
The self-programming artifical intellect, Singularity if you will. Where the the developer’s job will be pure supervision. No, it’s not Siri or Alexa. It’s closer to what Google Duplex is trying to do, but again it’s not entirely the same. I will not go into the possibilities how this will play out. You can read Elon Musk’s and Bill Gate’s tweets or watch Westworld on HBO. It is coming one way or another.
What’s not going to change?
To further the earlier point, It’s the people that explain how things work. We as people have the need to understand how things work. No matter at which stage of the evolution of the developer we currently are, there’s always a need for that person to explain to us what happened and why. After a major IT outage, the person with the answers is the most valuable. Just like a surgeon needs to know the human anatomy today, the developer of tomorrow will need to understand an artificial intellect. As we’ll have constantly evolving self-improving pieces of software, the one that can shine the light on how they think and why, will be the important one. The quest for transparent decision making of AI and understanding it in human terms will be the ultimate search. Almost entirely the software will be open source and the only differentiating factor will be the data fed into the system. You will have developers ‘fine-tuning’ a trait of the software and researchers making an entire new field of computer cognition. It will go through a similar transformation as Physics – Theoretical and Experimental. At this point we would have built new vocabulary around AI and hopefully not just a bunch of acronyms. Companies like Gamalon are already working on this idea, I’m sure more are to follow.
Even in algorithmic trading, nobody likes black boxes. Even if they are profitable, you never know at which point they can turn on you and lose all the profits they’ve made. Until you understand it’s thinking, you will never trust it completely.
In the end, we might not know what jobs will exist in 30 years times, but there sure will always be demand for critical thinkers.