Blog Home RSS Kelvin Jackson

There's No Such Thing as "No Code"

2022-08-10

In the last decade or so, a number of platforms have sprung up that purport to offer a "no code" development experience. In and of themselves, there is nothing wrong with these — there is a lot of web development that can be accomplished through them, and some people find a WYSIWYG editor more intuitive for that kind of thing. We can argue about whether the sites produced are actually pretty, but that is ultimately a matter of taste. Users turn to "no code" platforms in order to build websites and apps without programming, and as a programmer, it is easy to start getting nervous that these platforms might be undermining your job security.

However, the name "no code" is somewhat misleading, especially if you work with code in many different languages on a daily basis. We normally think of code as being a very specific format for expressing a program to a computer — usually involving identifiers that look like words or sentences and punctuation marks that do things completely unlike what they are used for in natural languages. And while this from a linguistics perspective is a perfectly good definition of code — especially given that we seem to have more or less agreed to use it that way — it is not a good definition of programming.

What you have to realize is that ultimately, a programmer's job is not to write code. Code just happens to be what we currently use to tell computers what to do, but other forms of programming will undoubtedly appear in the future. After all, just half a century ago, programming often involved a lot less of what we would call code today and a lot more direct messing with assembly instructions or even actual circuits themselves. On the contrary, a programmer's job is to take an arbitrary idea and translate it into unambiguous instructions. Whether or not you write JavaScript, assembly language, or something else, or choose settings on a GUI with the mouse, that's ultimately the hard part of programming, and that's where the need for skilled programmers lies.

Given that, "no code" platforms start falling into one of two broad categories: those that only offer a limited set of options (think "fancier version of Wordpress"), and those that are just a different UI for code. The former has a place in industry, but it does not allow the implementation of any arbitrary idea and thus is not a replacement for code. The latter requires just as much skilled programming knowledge as regular code (although it may be more accessible to people with different sorts of brains). Neither of these options is going to put skilled programmers out of a job in any industry where programming is is a major part of their business operations.

Thus, so-called "no code" platforms may reduce the barrier to entry to programming (hopefully!), or allow it to be done in a format that requires less specialized knowledge to get started, but they will never replace the thing that makes good programmers good: the ability to convert a spec into a complex set of semi-context-free rules. Your job is probably safe, and code is here to stay for a long time.