Cliff Berg
2 min readJul 25, 2021

--

They have their place: most basic business apps should probably be created this way.

The challenge in coding, however, is not language syntax. Learning a programming language is not hard at all. But getting good at it takes time, because one learns to use features well - features for encapsulations and modularity and generality. Those features are largely lost when one uses no-code tools, because the architecture is defined by the low-code framework. That is good, if one is doing basic things.

Frameworks such as AWS's Elastic Beanstalk automate much of the complexity of creating and launching a service - you just write the busienss logic code. That is _not_ the hard part: the hard part in app development is connecting everything, at a logical and physical level. The inter-service interactions are where the problems are.

If one is building a complex system, much of the complexity arises in the persistent data structures. For microservices, these are self-contained; but there are messages, and the message fields have semantics. Where are those defined? One must maintain a global dictionary or "bounded context" spec of the data semantics - otherwise one will not be able to correlate historical data. Low code can help you do that, so it is a plus there too.

Where it starts to not work is at large scale. If you have tens of millions of users, the cost difference of requiring 1000 production VMs versus 100 is substantial. Low-code licensing also starts to add up. And your architecture might need patterns that are not supported by the low code platform.

Also, there might be edges to your enviroinment that need real coding. E.g., suppose you are receiving inbound messages from a million IoT devices: you might need an inbound event gateway. That is best hand-coded. And suppose you need to run machine learning tasks, or run Hadoop or a Spark processing flow.

And of course low-code won't work for real time embedded IoT software, or anything running on an ASIC.

Even when you use low-code tools, you are still doing engineering. Programming is _not_ like writing a story. It is engineering. Low code tools are just a tool in the toolbox. A good engineer can use a variety of tools, depending on the task.

--

--

Cliff Berg
Cliff Berg

Written by Cliff Berg

Author and leadership consultant, IT entrepreneur, physicist — LinkedIn profile: https://www.linkedin.com/in/cliffberg/

No responses yet