My opinion about No-Code
Last years, no-code and low-code movements have become really popular. This kind of tools allow to non-technical people to build many kinds of applications without writing too much code, or even not a single line of code, usually through a web UI. This platoforms have many limitations and they are focused in generic use-cases (payment gateways, relatively simple databases, form management, etc...). Also, in some cases, customisation level is low.
In this post, I will expose my opinion about how I think no-code/low-code movement affects to non-technical people, companies and developers.
In 2024, 65% of the applications in Internet will be built using no-code/low-code platforms, and non-technical people will become citizen developers. In my opinion, those things that make users more autonomous and capable to build their own stuff are really welcome.
For the companies, obviously, this paradigm is really good, since they can build simple and cheap applications with just a few clicks, compared to paying a developer to code the same product ad-hoc.
We have already talked about how this movements affects to non-technical users and to the companies. But, how are software developers affected by it? There are two perspectives:
As a business man, no-code/low-code tools can be really useful. If they solve customer problem, they can be your best choice: effective, fast and cheap. We should consider this option and not just starting writing code at the first day. This "elevates" the developer to a problem solver role.
On the other hand, as an engineer, what no-code/low-code tools provide to your technical career can be even negative sometimes. Why? Basically, if you spend 10 years of your career in developing applications using one of these platforms, you absolutely will be an expert in it, but you will ignore the engineering fundamentals, best practices, protocols, etc. Maybe your motivation decreases and your job opportunities are reduced.
Instead, I would focus on learning software engineering: learning communication and networking protocols, programming languages, programming paradigms, testing, security, and so on. Those are the software foundamentals and they will never change. Be proud of knowing how TCP works internally more than knowing how to use a high level commercial tool.
To sum up, I truly believe no-code/low-code movements provide good stuff to the people and business world. As software develops, we must know how to take advantage of them and appreciate their potencial, but also the consecuences about using them "too much". In my opinion, you can be a problem solver with a big engineering knowledge. Just let's try to find the balance.