A Look Ahead: Web Development Predictions
Tags: web, cloud, ai
Published: 2018-07-29 16:04:34

---
title: A Look Ahead: Web Development Predictions
published: true
description: Trying to imagine the most significant changes that will shape the world of web development over the next decade
tags: web, cloud, ai
---

In this post, I would like to share some predictions about the world of web development. Making predictions is dangerous because there are high chances that they will be wrong. However, I enjoy thinking about the future because it is exciting and it can help us to identify potential future career opportunities. Remember that all innovations start as a fantasy. 
 
Over the past couple of years, I've been reading some blog post and announcements as well as observed some of the breakthrough technologies in the world of web development, DevOps and cloud computing spaces and I'm starting to being able to envision how the world of web development could look like in a decade from now. These are some of the most significant changes in the world of web development that I can envision right now. Please note that these predictions are not based on formal research, and it is just pure speculation.

# Infrastructure will no longer be a concern

Cloud computing has been around us for a little bit over a decade now. Amazon launched AWS in 2006 and Microsoft launched Azure in 2010. I don't know if you remember the hype around cloud computing when it started to be a thing but its promise was the following:

> Scale the IT function up or down immediately to meet the near real-time needs of any large organization.
> - [*"Cloud Computing's Great Promise"*](https://www.forbes.com/2010/06/30/pharmaceuticals-mobile-salesforcecom-technology-cloud-computing.html) by Forbes.com 
 
 The promise of cloud computing has been somehow true from the beginning, but I feel that it is only now, thanks to the arrival of serverless technologies and more than ten years later that it is becoming a fulfilled promise. One of the significant milestones during this journey has been the arrival of container technologies such as Docker and container orchestration technologies such as Kubernetes. 
  
The container technology take its name from the [Intermodal container](https://en.wikipedia.org/wiki/Intermodal_container) used by the shipping industry. I would like you to stop thinking about web development and cloud computing for a second and think about the implications of the arrival of intermodal containers. 

Before the arrival of the Intermodal containers, all sort of things with different shapes and weights had to be loaded, accommodated and unloaded by hand. It took an insane amount of time and human effort to move objects from one location to another. The Intermodal containers allowed things to be loaded into a container and then they could be transferred using one unique standard shape across different modes of transport (from a ship to a rail to a truck) without unloading and reloading their cargo. The use of standardized steel shipping containers began during the late 1940s and early 1950s. Soon after, the ships, the trucks, the trains and cranes where all adapted to optimize the accommodation of containers. As a result, today the world's busiest trading port (Shangai) handles 32 million of containers a year carrying 736 million tonnes of goods around the globe. Intermodal containers enabled a level of productivity never seen before.


![](https://thepracticaldev.s3.amazonaws.com/i/t78y6v2bsaaac6qnes8i.jpg)  


The most impressive part of this story is that the Intermodal container revolution is not over yet. The arrival of IoT and AI is going to make the shipping process even more efficient. The entire shipping chain could someday be 100% autonomous. The trucks, the cranes, ships, and trains could all use the data provided by IoT sensors and the algorithms powered by AI to transport containers around the world without the intervention of one single human being. While this may sound like science fiction, all the technology required to achieve such a scenario is available today. 

Let's go now back to the world of web development and cloud computing. We already have containers, and we have container orchestration tools. We are also starting to have some container orchestration tools that are 100% managed by the cloud providers, which means that we don't need to think about container orchestration at all. We also have some serverless technologies like [AWS Lambda](https://aws.amazon.com/lambda/) y [Azure functions](https://azure.microsoft.com/en-us/services/functions/) and some managed distributed databases like [Azure Cosmo DB](https://azure.microsoft.com/en-us/services/cosmos-db/). It feels to me like managing servers is quickly becoming a thing of the past just like loading and unloading stuff by hand did when the Intermodal container revolutionized the shipping industry.

The next step for the Intermodal container revolution is also the next step for the cloud computing revolution. It is easy to imagine that IoT and AI are going to have a very significant impact on cloud infrastructure management. For example, a cluster could be scaled based on predictions powered by IoT and AI and failures in servers could also be predicted before they happen. The combination of serverless technologies, IoT and AI are going to allow us to create applications that can scale and that will be incredibly resilient and cost-effective, and developers will not even need to think about these problems. Infrastructure will stop being a concern for all of us, and we will be able to focus 100% of our time in the business needs and our users instead of waisting an interminable number of hours dealing with infrastructure-related concerns.

Today, there is a high demand for professionals that know how to implement large-scale distributed systems but in the future, they could be in low demand. As organizations increase their focus on the users needs instead of infrastructure concerns, the demand for technical skills will decrease and the demand for soft skills will increase.

# Semantic

A semantic web is a web where all information is categorized and stored in such a way that a computer can understand it as well as a human. The idea of the semantic web has been around for quite a long time, but I don't think it has taken off yet. However, I do believe that it is going to happen at some point because the semantic web is becoming more relevant as the AI technologies improve.

In the future, systems and services will need to be able to understand each other and communicate with each other without the intervention of a human. For example, we should be able to ask for a wide variety of services to a virtual assistant like Cortana, Siri or Alexa. The virtual assistant technologies should then be able to communicate with a vast number of systems implemented by third-party providers such as Uber or Dominos. At some point, it will become essential for these systems to be able to discover and understand each other automatically. The semantic web will play a big role in this.

# AI-assisted development & UX

Our development tools are going to incorporate assistance powered by AI. For example, Guess.js is a library that can help us to reduce the losing times in our website by predicting user workflows and pre-fetching resources.

> Libraries & tools for enabling Machine Learning driven user-experiences on the web.
> - [Guess.js](https://github.com/guess-js/guess)

Microsoft has also recently showcased an AI-assisted development tool named IntelliCode:

> **IntelliCode** generates recommendations by using a machine-learning model that is trained on thousands of public codebases – today it uses over 2000 GitHub repositories that each has more than 100 stars to ensure that you’re benefiting from best practices. The model is used in your IDE along with your local code context to provide .NET related APIs that are likely to be the most relevant for you given the line of code you’re writing. We’ll be growing and improving the model over time, so the recommendations will get better as we progress.
> - [*"Introducing Visual Studio IntelliCode"* ](https://blogs.msdn.microsoft.com/visualstudio/2018/05/07/introducing-visual-studio-intellicode/) by Microsoft

These are just two examples, but there will be many more to come. Working with the help of AI will become the norm.


# Decentralized

Another significant trend will be the decentralization of specific services. I don't believe that every service will become decentralized, but I'm sure that a lot of them will. As more people become aware of the implications of our sensitive data being own and managed by companies such as Facebook, the idea of using a decentralized service will become more and more appealing. Also, it seems like a lot of political leaders seems to have a keen interest in controlling the contents that are available on the internet. For example, Teresa May, the British Prime Minister, has been advocating for a regulated internet for a good while. Decentralized systems will be a way to scape these regulations.

# Compiled JavaScript is here to stay

Using a compiler while developing JavaScript will become more and more mainstream. I believe that the leader right now is TypeScript, but even if TypeScript goes away, it will only because it has been replaced by another compiler. Compilers can help us to detect some problems earlier and to don't have to worry about low-level details of our compilation target. However, compilers can also automatically optimize certain aspects of our code and generate metadata that can be consumed by other development tools. This metadata is crucial because we can say that it enables other tools to understand certain aspects of our code. For example, the metadata can be used to allow a dependency injection library to be able to understand the dependencies in our application. In a certain way, we can say that the metadata helps our code to be "semantic".I can imagine that in the future someone out there is going to have a crazy idea of connecting a compiler to some AI technologies to create tools that will be able to reduce the build times, optimize our code even more and detect even more issues automatically. AI will power a new generation of compilers and a new generation of tools with the help of the compiler-generated metadata.

# Summary

In summary, AI technologies are going to be a big deal. Big corporations are aware of this as they demonstrate by their investments in AI technologies. AWS, Microsoft, and Google are all betting hard into AI.

We heard a lot of things in the press about the breakthrough in AI applied to the human-to-machine interaction, but I believe that the most significant impact in the world of web development is going to take place in the machine-to-machine communications. For example, in the interactions between our applications and the cloud services that host them will be managed and enhanced by AI. 
 
 I hope you enjoyed this post! Do you agree with my predictions? What are your predictions? Please share your thoughts and ideas in the comments or via Twitter at [@RemoHJansen](https://twitter.com/RemoHJansen)