Originally published in Information Age
Low-code platforms promise to ease the process of developing applications, but how realistic is the aim of consistent, long term usage?
Is low-code the right way forward for your organisation?
Low-code has come to the fore in recent times as a way to speed up the delivery of applications, while keeping costs down. However, with customisation being limited without a change in business processes, and cloud vendor lock-in being common in the space currently, how realistic is the promise of low-code, really?
In this article, we explore the points of view of five experts in this area, and what this particular coding technology brings to software development teams.
“Low-code comes with a promise that “anyone” can code or build software applications and services at a faster pace,” said Raina. “It refers to those AI development platforms which offer pre-built algorithms and simple workflows like drag and drop modelling. These platforms include visual interfaces that can easily connect with data and accelerate bringing services and applications to the market.
“Low-code promises speeding up the development cycle. It improves the developer’s productivity with smart suggestions for application logic flows. It allows organisations to put more problem-solving capabilities into the hands of non-IT professionals.
“Today with AI/ML libraries and tools, it is possible to create powerful applications with a small amount of code, and more importantly, in an iterative way. For example, using libraries like TensorFlow, PyTorch, and notebooks like Jupyter and Apache Zeppelin, a data scientist can be very effective using a few lines of code.”
More than a promise
There is a feeling that the simpler visuals that low-code brings makes coding more accessible to those outside tech backgrounds.
According to Andrew Davis, senior director, product marketing at Copado, “low-code is more than just a promise. It’s been a reality for decades for platforms like Salesforce, and the number of dependent low-code platforms is exploding with over 200 different options, including Microsoft Dynamics, Pega and other systems.
“Grady Booch, one of the fathers of modern computer science, said the whole history of computer scientists layering is adding new layers of abstraction. On top of existing technology, low-code is simply a layer of abstraction that makes the process of defining logic, far more accessible for the most people.
“Even children are being taught the code programming through languages such as MIT‘s scratch, a visual programming language. Just like humans communicate through both words and pictures with a picture, being worth roughly 1000 words. So, developers can develop using both code, and low-code or visual programming languages.
“Visual language is much more accessible for many people, as well, much safer. So many business users who are great subject matter experts can make small dips into defining logic or user interfaces, through low-code systems, without necessarily having to commit hours and days to developing a feature through more sophisticated methods.”
The beauty of code
She explained: “For most applications, the code we’re writing is already the easiest and most human-readable solution for configuration. Tools that use a visual node editor to create code paths are impressive but the code still exists as a base layer for advanced control. I once built a complete mobile video game using these visual editors. Once workflows get slightly more complex it’s helpful to be able to edit the code these tools generate.
“It’s not as if the code we’re writing is direct machine code: any code I write is interpreted and run in a separate engine of which I have little understanding or control. For instance, Ruby — that grandmother of all later web application languages — is intended not as a language that computers find easy to run, but entirely as a language humans easily read and write.
“The state of configuration tools like CloudFormation is instructive: many CloudFormation developers make use of visual tools to create their cloudformation templates, never directly handling their templates’ YAML syntax. However, the YAML is there for direct editing, and as users get into more advanced challenges they may edit by hand or make tools that manipulate the YAML directly.
“In conclusion, code remains an elegant way to translate business needs into machine instruction, and will continue as the ‘advanced version’ of most tool configurations.”
Siloed usage brings risks
Low-code is known to increase speed and accessibility. However, if treated as its own island, it does come with its risks.
“Even today there is still risk that surrounds low-code, because teams will often silo low-code and high-code development software,” said Ben Schein, vice-president, data curiosity at Domo. “If people are working in Python or Kubernetes, low-code interface configuration won’t always align, so a tension point develops and you can’t collaborate.
“To truly realise the benefits of low-code, we need to find a way of using it to build on pre-existing high-code resources. Sometimes it’s as simple as API integration and ensuring that your high-code activity can talk to the low-code software platform and send information as a starting point. With Domo technology, our priority is making high and low-code activity work together rather than running them on two separate paths.”
Raina added: “Even though low-code looks promising, it comes with its own set of challenges too. It doesn’t speak much about how one can manage, maintain, and scale those applications.
“Lack of visibility is another challenge as most of the team inside the organisation are busy leveraging these low-code development platforms, and there is no oversight of the data being generated. Sometimes it could result in a significant waste of resources for many organisations.”
Coding skills still relevant
“It’s true that low-code and no code application development is expanding, and indeed, recent Pluralsight research found that half (51%) of new tech employees know just one or no programming languages,” said Farrington.
“However, this isn’t to say that traditional coding skills are redundant; they are still worth learning. Languages like Java, Python and C remain commonplace in organisations across all kinds of industries, and this will likely continue to be the case for years to come. They underpin all modern application development, new security and data processes and will keep businesses competitive and innovative amongst their peers.
“Even legacy languages which may be deemed out of date by many are still useful to learn. Take COBOL, for example. The language is fifty years old and rarely taught to new software developers – why would you learn such an outdated language when new ones are being created year on year? In reality, there are still billions of lines of COBOL code in use and it underpins systems across many public sector and banking organisations.
“Therefore, in order to keep systems running or migrate to new ways of working, a good knowledge of these legacy languages will be vital for the foreseeable future.”