As said, making predictions is very difficult, mainly when predicting the future. And in programming, there are so many balls in motion at the same time, things that are developing in large companies, new fashions that bring us new things from one day to the next, that it is tough to predict anything.
As you probably know, part of my job is to keep abreast of what is happening in programming, learn about new things coming out, etc. So I will try to give you my point of view on what things I think will happen in 2022.
Some may be overlooked, others are impossible to foresee, and others I have not mentioned even if they are on the radar because they do not seem attractive. For example, everything from the metaverse, blockchain things, etc… that already seem very 2015 to me, the truth and more marketing than real impact in our world.
I warn you: it will be long, but interesting. I have divided it into seven large sections to make it easier for you to see what interests you the most, but I recommend that you see it in its entirety because I am sure there are details in all of them that will be useful.
1. Programming languages
Ok, I’ll start with the easiest. JavaScript, Java, and C # will continue to be the most used and demanded labour market. But if you want to be at the end of the street and invest in programming languages with a future, you should not lose sight of:
- Python, especially for Machine Learning and Data Science, I’ll talk about this later.
- TypeScript, for Web development. This superset of JavaScript allows you to program with fewer errors and more efficiently for the Web, leaving you with JavaScript at the end. Microsoft created it and is eating the world, both in the Front (for example, the language used with Angular) and in the Back (I have already told you several times about Deno, a modern Node.js and better based on TypeScript).
- Kotlin: If native Android mobile development is your thing, skip Java and go for Kotlin (although it’s best if you know both). It is a very new programming language (10 years old) created by JetBrains (a European company based in the Czech Republic), which significantly improves Java, making it more productive. Google has placed it as the primary language for developing Android instead of Java.
- Go – Created by Google and mainly used to build high-performance web services and all sorts of command-line utilities. It is estimated that more than 1 million developers are using Go as their primary language, mainly in Asia.
- Rust: This language created by Mozilla is being requested above all to develop low-level systems as a substitute for C and C++. It is already part of the Linux kernel; Microsoft is putting it into several tools and, although it will continue to be niche, it should not be lost track of.
2. Web development
In Web development, we will continue with the usual suspects, that is, Angular (especially for companies, thanks to its significant advantages for well-structured work and being able to incorporate people into the work team), Vue.js for its power and ease of use, and React because, although it is not comparable with the previous ones since it is not a framework but a user interface library, it is the darling of startups and alpha-geeks around the world. Either you love it or hate it, but the reality is that many people use it.
Within web development, other trends that I think will be consolidated in the coming months are:
- Web Components: that is, to understand us, the ability to create your HTML tags with components as complex as you need. For example, if you want a robust grid in your application: then you put a label, and that’s it. The ability to do this made React famous, but browsers have long natively supported creating components this way, even though the API is quite complex. For this reason, a framework that makes it easy for you to create this type of component in a simplified way, called Svelte, is hitting it very hard and has traces of surpassing React in the future. At least it should ring a bell.
- PWAs or Progressive Web Applications: they have been with us for years, but it seems that browsers are finally getting the hang of them. They were intended as an easy way to create web-based mobile apps that could look like native apps and work offline, among other things. Now they are on mobile phones, but all modern browsers support them and facilitate their installation. Even Microsoft has incorporated them as first-level citizens in the Windows 11 store, so they are becoming more and more interesting, and if you know how to develop for the Web, they are a great tool to add to your resume. I leave you a link to an article explaining what PWAs are and how they work.
- WebAssembly: this is wonderful. Said in a quick and simplified way, it is a low-level language for browsers that allows you to interact with their virtual code execution machine using basic instructions, like the ones you would use in assembler. This allows any code that can be compiled for a conventional operating system to be compiled to work in a browser (with its restrictions, of course). So, for example, you can compile C or C++ code to work in a browser. What is it used for? The question is, what is it not for? As it is standard and part of all modern browsers, unthinkable applications can be made by combining them with JavaScript. Many applications you use today take Web Assembly under the hood; There are also many popular command-line applications such as FFMpeg (the Swiss Army Knife of audio and video) torted to Web Assembly. For me, its maximum exponent right now is the blazer, a Microsoft framework for Web development that we have already told you about here many times and that allows you to develop for the Web using C# compiled to Web Assembly, opening up a new world of possibilities, and saving you from learning the frameworks I was talking about before (Angular and others). It’s been a long time since I’ve been as excited about technology as Blazor has. If you know .NET and C# and want to develop for the Web, you should take a good look at it.
- Serverless – Basically build small, coordinated web applications in the cloud that are infinitely scalable, charge by the second, and let you forget about what’s underneath: you automatically deploy the code, and it just works. This would give us a lot to talk about, and one day we can do it, but all the big ones in the cloud have it, and everyone is using it. In Azure, they are called Azure Functions, and in Amazon, they are called Lambda.
- Edge Computing: something closely related to the above is everything that has to do with this trend that is hitting it too, and whose greatest exponent is the Cloudflare Workers. It is about bringing the processing of our applications as close as possible to the users, at the “edge” of the Internet, that is, in nodes that are distributed all over the world and that remain synchronized transparently for you. Conceptually they are very similar to the Serverless services that I just mentioned, but with the twist that they do not run in a data centre. As I say, they are distributed worldwide in hundreds of places. They are always executed in the closest node to the person who made the request. It’s a very, very interesting thing. I’ve already done my first steps with them, and I love them because, in addition, CloudFlare’s are very fast and are based on JavaScript and Service workers, just like PWAs.
3. DevOps
I’m not going to stop here for long. I’m just going to say a couple of lapidary phrases:
- If you don’t learn Docker (and possibly Kubernetes), you will drop out of the scene sooner rather than later.
- The continuous integration of your projects is almost essential in any modern development company.
And if you think that these things have more to do with the IT department than with the development department, you will discover bitterly that this is not the case. Listen to me.
4. NET MAUI
By the middle of next year, and with more than a year and a half of delay, the replacement for Xamarin will arrive .NET MAUI. I’ve already said many times that I think it’s a horrible name but removing that; I think it’s going to hit a lot. Why? Well, because not only will it be used to create native applications for Android and iOS with better performance and features than Xamarin, but you can also create native applications for Windows and Mac with the same code, with support from Microsoft, and for Linux with permission from the community. In other words, if you know .NET and C#, you will be able to create native applications for Windows, Mac, and mobile with the same code base. It’s very, very cool.
5. AI-assisted development
And here, I can speak first-hand about two specific tools: the “intelligent” IntelliSense of Visual Studio 2022, which significantly improves previous versions, especially GitHub Copilot. Bruno and I have already talked about the latter at length here, but now that I have been using it for a few months, I can say with certainty that it is wonderful. Sometimes it seems that he reads your mind.
Does this mean that we workers will be out of a job? Not at all, but with these tools based on Artificial Intelligence, we will be much more productive. However, you have to be careful because they can get giant bugs. In other words, there are things that it does very well, but since it is a generative AI, what it generates is not tested, and it may often cause bugs, some of which are not very obvious, so you have to use them wisely, of course. But shortly, they either use them or stay behind…
Ok, and now for the end, the two trends that are the ones that are going to have the most impact on the sector in the coming years.
6. No Code / Low Code
Yes, those tools like Google AppSheet or Microsoft Power Apps. They have been sold to us as “paint and colour” tools so that people who don’t know how to program can make their applications. And although they will indeed be used like this in some cases, in my opinion, that is losing sight of the most important thing. And it is that they are becoming more powerful and are complex enough that most “non-programmers” cannot take advantage of it. That is why I think that the ones who can get the most out of them are the programmers and that they are going to open up a lot of employment opportunities in the coming years. They will allow us to create small applications very quickly that would not have been viable before. And on the other hand,
Believe me: either I’m wrong, or in the next 2 or 3 years, these types of tools, as well as integration tools (such as Zapier, Integromat, and the like), will open up a lot of job opportunities and more applications than ever will be created, but not by users, but by programmers who know how to take advantage of them.
7. Automatic Learning
I have already said this ad nauseam. Other things seem like a sellout that probably aren’t going anywhere, but I think Artificial Intelligence and Machine Learning are here to stay. And I believe that, although later you are going to use prefabricated services in the cloud for many things, knowing the fundamentals of the discipline and understanding what is underneath to select the most appropriate at each moment is going to be a very differentiating factor in the future. . Apart from the fact that there is currently much more demand than supply for developers who know Machine Learning. So, in my opinion, and as I have said many times, it is an area in which investment in learning is exciting even if you are not going to take advantage of it right away. Master of Machine Learning and Data Science will help you learn these concepts and serve you for many years and not just for now. I say no more.
In summary
Well, it’s been long, but I hope you found it interesting. I have tried to be dynamic and to summarize the areas in which I am most involved so that you can see what things are coming that can affect you at work and know the trends and movements that exist in the world so that you can get ahead of yourself.