Posts

Every year I get the CIO Survey by Harvey Nash / KPMG. While the full report isn’t available until June 26th, some of the key findings are. In my opinion, of all the key findings, one in particular stands out. The immense skills shortage.

Skills shortage

The CIO Survey is conducted amongst about 4,000 IT leaders worldwide. Therefore, it gives a very adequate overview of the current state of businesses around the globe.

And while there are many interesting facts every year, the skills shortage is one that has been steadily growing over the past years. This year, 65% of all respondents claimed to have a problem with finding the right IT skills. This is the highest it has been since 2008, which is very alarming indeed.

The result of not being able to find the right skills leads to difficulties implementing a company’s digital strategy. It is therefore no surprise that 78% of all respondents said their digital strategy is only moderately effective, or worse.

Especially taking into consideration the fact that failing to correctly implement a good digital strategy is one of the main reasons companies fail to compete nowadays.

Let go of the faster horse

I believe that companies should actively look for different ways to solve the problem. Many are still trying to find more specialists, where there are none.

While it is tempting to think that we can get everyone to code, the simple fact is that it takes a certain profile to like coding. Just like it isn’t for everyone to be on stage presenting to a large audience, coding and other technical skills simply aren’t for everyone.

Taking this into account, managers should actively search for different kinds of solutions. Henry Ford famously said that people think they want a faster horse, while they really want easy transportation. In IT we should stop looking for that faster horse and instead find other ways to reach our goal.

One way is to look for solutions that actually allow a different type of person to create the software you need, for example. Tools are quickly becoming available that allow business creatives to implement their solutions themselves, instead of relying on skilled technical staff.

This alleviates the pressure to find more skilled people and at the same time increases the effectiveness of the company. A true win-win situation, that only requires managers to think out of the box.

With the skills shortage as high as it is now, companies simply cannot afford to keep looking for more and faster horses. They need to find cars.

Code in no-code platforms, that must not be possible, right? Because if you would be allowed to use code in a no-code platform, wouldn’t that make it a low-code platform? Well, the truth may surprise you.

What exactly is code?

This is a harder question to answer than you may think. Because the definition of what code is, depends a lot on who you ask. From a purely software engineering point of view, code is something that you can write, which is then translated to zeros and ones by a program called a compiler.

Only after the code has been compiled, you can use it. You can think of this as writing a letter in English, then translating it to Chinese in full, before handing it over to your Chinese colleague to read.

Over the years however, a lot of innovations have taken place in the field of coding. There are so-called Just-In-Time (JIT) compilers that don’t necessarily need to be run before using the code, but can compile on the fly, or ‘just in time’ for you to use it. I would still consider this code, but other experts might disagree.

In the analogy of the letter, you would let your Chinese colleague read while you are translating. Every time your colleague wants to read something, you make sure you translate it just in time. If your colleague suddenly jumps a paragraph, you do too, leaving the part in between un-translated until your colleague may eventually read it.

The real difference comes with languages such as JavaScript, which are mainly used in web-applications. JavaScript for example, doesn’t need to be compiled before you use it. Instead, it is ‘interpreted’.

Think of this as how the United Nations uses interpreters. They don’t translate any letters, but instead they interpret everything that is said on the fly.

This is distinctively different, because once you have interpreted it, the translation is no longer available. You’d have to translate again the next time the same text is spoken. In software engineering, this is called ‘script’.

Script isn’t code … or is it?

As a software engineer, there is a very big difference between scripting and coding. Mainly, script can be changed more easily than code, because code has to be compiled after it has changed. Script can just be changed and then used. From a technological point of view, scripting and code are very different.

The question of course is, though technologically different, how different are script and code to the person writing it? The answer is not all that different. JavaScript is, as the name suggests, script that is based on Java. And Java is code.

Today, the words are even becoming more similar in meaning, as it is now generally accepted to call writing JavaScript or HTML coding instead of scripting.

So whether we are talking about script or code, the act of writing it is more and more considered to be ‘coding’. And that is fine, because they are very similar to the person writing them. They often even look almost the same. You might be wondering why this difference is such a big deal. Good question.

No-code or no-script

Most no-code platforms are no-code because they don’t allow you to add any code. However, they will often claim that they can also be used for very versatile solutions. And one way of achieving that versatility is allowing the user to code, eh, script.

If the user can script certain things, such as the user interface by using HTML, then the platform is strictly speaking no-code. Whether as a user you experience it that way, is a different matter entirely of course.

I believe that the only real solution is to simplify the design process to its bare essence, eliminating a lot of the reasons to want scripting. For business users, a simple solution is often favorable over a more complex solution that has broader applicability.

Therefore, the option to use script for modifications should be considered to be coding. And should ultimately not be allowed in no-code platforms, in favor of a much better and easier user experience.

In my earlier post I talked about the rise of no-code platforms as the next step beyond low-code platforms. We briefly looked at the difference between them, and in this post we’ll take a closer look at some of the distinct differences between low-code platforms on the one hand, and no-code platforms on the other.

Target audience

If you’ve read my other post, you already know that one of the major differences between low-code and no-code platforms is the target audience. Low-code platforms are aimed at developers.

These platforms require technical knowledge, and allow good coders to work faster. The more powerful the tools to speed up technical development, the better suited it is for coders.

No-code platforms on the other hand, target business users. These platforms provide no way of manually editing code, and instead focus on creating the best and easiest user experience possible, abstracting away from technical details. The easier the user interface is to understand, the better suited for business users it is.

This difference is a trade-off. Low-code platforms still require some code, because they are aimed at being able to create a very wide array of software solutions. To make sure the developer has the control they need, coding is still an important part of the development process.

No-code platforms however, abstract away from all the technical details. While being applicable for only slightly fewer use-cases, this makes no-code platforms much easier and faster to use.

Closed system

The other big difference between low-code platforms and no-code platforms is openness. A system that is open, allows it’s users to make changes to how it works. In low-code platforms this is done by allowing the user to change or add code, which affects how the application works.

The advantage is that this opens up the system to a lot of custom added code, making it applicable to more use-cases. The big downside however, is that this limits backwards-compatibility.

All low-code platforms suffer this problem, which is at the core of their architecture. Any new version that changes something in how the platform works, will affect customers who are using custom code that uses that functionality, because it now works differently.

This means that with any upgrade of the platform, all customers must spend time testing whether their software still works. If there are any problems, the custom code must be changed before they can upgrade to the new version of the platform.

No-code platforms on the other hand, only have a single version at any given time. When a no-code platform gets an update, customers need not worry about any breaking changes, because it is a closed system.

There are simply no points where custom code is permitted, which means that an upgrade cannot break an application. This is a huge advantage, as it gives users the ease of mind that any upgrade is simply immediately available, without having to spend any time testing.

The Triggre approach

Triggre has focused on these 2 aspects that set no-code platforms apart, from the beginning. We continuously update our designer to have more options, while making it easier and faster to use at the same time.

Triggre also has the advantage of being a completely closed system. Of course Triggre allows you to connect with other applications in an easy manner, but it keeps you from adding any code.

This provides our customers with the ease of mind of knowing that their application will still work, even when they want to make a change a year from now. But we take this even further. When we release a new update to our platform, we publish all of our customers’ applications, so they are sure to get any improvements without ever lifting a finger!

Recent years have given rise to many low-code platforms. A low-code platform allows coders to gain a higher productivity, because a lot of the tasks they normally perform can be done in a visual editor, from which the platform generates code.

This process is about 2 to 8 times faster than regular coding, according to the many whitepapers on suppliers’ websites. The coder can then manually work with the code to make his own adjustments. Low-code platforms are like catalysts for coders.

No-code platforms, for lack of a better categorization, are platforms that do not require the user to write any code at all to create an application. In many ways, no-code platforms are seen as the next step after low-code platforms.

Because what is less than low-code? Exactly, no-code. It seems logical, but the truth is that low-code and no-code platforms are completely different.

Demand for productivity

Behind the popularity of both low-code and no-code platforms is a world-wide demand for higher productivity when it comes to creating applications. Globalization has had a very interesting effect in making the world seem very small.

A supplier in China can just as easily sell its goods in the US as it can in Japan, over the internet. Effectively this means that many companies have seen an increase in the number of competitors in their markets.

With more competitors, it becomes increasingly important to have a competitive advantage. And because an ever larger part of business processes are supported by software in the form of business applications, it means that companies turn to custom software development.

Standard software, in other words software that can also be used by your competitors, doesn’t provide a competitive advantage. If every company uses the same software, none of them are unique, thus none have competitive advantage. This is why the demand for custom software is growing with roughly 35% year over year.

Custom software is normally written by coders. The world-wide increase in demand for custom software, therefore leads to an increased demand in coders, or coders with higher productivity.

This is the driving force behind low-code platforms. They increase coder productivity, which means more custom software can be created.

Too few coders

The big problem, world-wide, is that there are simply far too few coders. It doesn’t matter if we make every coder 10 times more productive. It won’t be enough. Demand simply grows faster than supply in this case.

This problem is slowing down companies today, and will slow them down even further in the very near future. With too few coders available, companies simply cannot create the custom applications they need to stay ahead of their competition.

The risk is that many markets will see a winner-takes-all situation arise, where the company with the deepest pockets is the only one that can innovate quickly enough to gain a real competitive edge. Others will simply be bought out, or won’t survive at all.

Emergence of no-code platforms

If there are too few coders to fulfill the demand, we need a different solution. This is where no-code platforms come in to play. No-code platforms target a different user than low-code platforms.

While low-code platforms require technically skilled people to operate them, no-code platforms are made for business people. People who have the ideas for applications, but lack the traditional technical skills to make those applications.

The way you can distinguish a no-code platform from a low-code platform is fairly simple. Look at the user-interface. Is it as simply as possible, and does it aim to help you decide which option you should choose every step of the way in making an application? Or does it rely on knowledge you should have learned about how applications are built?

No-code platforms require zero technical knowledge and this shows by them have an extremely easy to use interface.The simpler the user interface of the platform, the more sure you can be that it truly is a no-code platform!