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++.

Imagery was 8-bit and crafting a brick under MS-DOS was a noble journey. Then the networks took over. HTML that could render text over a dial-up wire and offer an easy to do formatting, started to take over the world. JavaScript became the mainstream web scripting language. All you could program with it however, was on the client-side. Creating a new windows calculator – preprogrammed. You couldn’t push an update as easily. If you wanted the latest version of a software, you needed to go out and look for a newer version that fixed that one bug that irritated you. Open source sounded like a novel idea during the years of Microsoft ruling the world. The development you could do was limited by the user’s machine specifications. If you made a game that demanded outrageous graphics card, very few people would have been able to play it. Which gave rise to the PlayStation and Xbox consoles that brought standardized “PC”-like configurations for game developers and levelled the playing field. Developers knew the end users’ machines specifications. The floppy disc & the CD were still the main way to transfer content – MP3s, Videos. Software purchasing was a one-off expense with the hope of a free update down the line.

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.
CommitStrip - Full Stack JavaScript

Server-side JavaScript, often jokingly considered a mistake, allowed a much faster uptake and adoption of the server-side development. Databases no longer had to fit on a client’s hard drive, but could be hosted remotely in server farm away and allow economies of scale. Large corporation were first to hit the issues of this revolution creating new innovative methods to cope with the amounts of data – the Hadoop ecosystem was born. Pushing an update to a user was now seemless. The earliest application I believe that many people embraced with that development process was GMail. It was an invite-only at the start, but people realized that it was like living in a room, but someone else decides the color of walls or on which the painting will be. But the scale of innovation outweighted the discomfort of absolute control over the product. A fitting statement that shows the times, was by Steve Jobs, who claimed that streaming services will never succeed, because people wanted to own the music. Well, look at where we are now, Spotify, Pandora, Apple Music and others all doing perfectly well. The main way people were sharing information was USB Flash drives and as internet speeds grew faster, more remote storage applications took over. One thing that came creeping in with large servers farms was inefficiency. It was like a stock invetory, too little or too much is not a good sign. Idle servers was the worst thing one could have, depending on the position you had.

Developer 3.0 – The Cloud Developer

Things like Docker Containers, Kubernets, Serverless, Scalability and further abstraction between online and offline are the current stage where most of as are still at. It is the 2.0 of the server-side developer, but with more mobile development in mind. Countless other technologies like Presto, GraphQL and a new JavaScript framework that does XYZ is created by the minute. This is the stage where we reach the peak human developer, as long as you can keep track with the latest technologies, that is. Transferring data is purely links to Dropbox, Google Drive or OneDrive. I don’t remember the last time I plugged a USB Flash drive, it’s demise greatly accelerated by corporations blocking them for security purposes. Open Source is eating the world and the hottest commodity is data.

Docker & Kubernets Images

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.

Ivaylo Pavlov

I blog about interesting tech, programming and finance in real life.


Leave a Reply