The Computer Weekly Developer Network gets high-brow on low-code and no-code (LC/NC) technologies in an analysis series designed to uncover some of the nuances and particularities of this approach to software application development.
Looking at the core mechanics of the applications, suites, platforms and services in this space, we seek to understand not just how apps are being built this way, but also… what shape, form, function and status these apps exist as… and what the implications are for enterprise software built this way, once it exists in live production environments.
This piece is written by Brian Sathianathan in his role as chief technology officer at Iterate.ai – is the chief technology officer at Iterate.ai – customers use the company’s Interplay platform for AI-driven software development.
Sathianathan worked at Apple on various emerging technology projects that included the Mac operating system and the first iPhone. His piece’s full title is ‘Don’t Let Outdated Low-Code Fallacies Stall App Dev Progress’.
Sathianathan writes as follows…
Developers who still turn their noses up at low-code application development probably harbour a number of misconceptions that are quickly becoming outdated. False notions that low-code “is only for non-professionals or ‘citizen developers’,” “is just for prototyping,” or “can’t handle enterprise-grade scalability, performance and security needs” only postpone developers from realising its actual potential. In truth, low-code done right can multiply efficiency and put advanced emerging technological capabilities within any developer’s grasp.
The key advantage of low-code? Connectivity.
The best low-code strategy will give developers a drag-and-drop UI for assembling Lego-like code blocks into complete applications. Get humming and you can make initial application development and iterative improvements 10x faster (at a minimum) than hardcoding. Low-code also automates away the block-and-tackle busywork of application development (read: a more enjoyable developer experience), while making access to emerging capabilities like AI/ML, big data, IoT, voice and messaging, blockchain and APIs as simple as dragging an icon across a screen.
Developers who learned to code the hard way may naturally eye low-code’s ease with suspicion, viewing it as a threat to their livelihoods, an attempt to water down “real” coding, or simply as too good to be true. However, developers resistant to these coding practice innovations should ask themselves a few honest questions and decide what’s really important to them. Acknowledged, you can write incredible code by hand. But can you write it faster than you can drag and drop a prepared module with the exact AI capabilities you need? Sure, you can complete all the tedious nuts and bolts work associated with setting up application environments from scratch. But do you really want to?
The reality is that today’s developers need to get faster. Enterprises across the board are under competitive pressure to complete digital transformations and harness advanced technologies to deliver customer experiences featuring unprecedented personalisation and appeal. For organisations and developers seeking to leverage new capabilities and accelerate their application development cycles, low-code is a clear and compelling option worth exploring.
That said, not all low-code platforms are the robust, production-ready candidates that developers and enterprises will be looking for.
Here are three things developers should know about low-code as they overcome common misconceptions and vet potential paths forward:
1) Low-code can effectively upskill developers to deliver specialised, in-demand capabilities.
Web and script-based developers with any worries that low-code will make their own skillsets less special should take a step back to admire the full landscape of their profession. Emerging technology fields have intense demand for extremely limited pools of specialised developers, kicking off bidding wars for their talents. AI offers a clear example: while the world has 25 million web developers, there are just 300,000 AI engineers. At the same time, AI-based capabilities are now central to enterprise strategies, as are other similarly advanced technologies.
Without low-code, there simply aren’t enough developers out there to meet demand. Low-code abstracts advanced technical feats such as AI/ML integration into code modules, automatically upskilling any developer to effectively utilise technologies in those new fields where talent is rare. (And, if you are one of those rare in-demand engineers, low-code optimises your valuable time by sparing you from writing code from scratch.) That 10x acceleration in development time applies to all developers, making iterative development far more responsive and the developer experience itself far less tedious.
There is much to think about here, consider these words, please.
2) Some low-code platforms are production-ready, some aren’t.
It’s no shock why developers’ biggest low-code misconception is that it’s for only for prototyping – because for some low-code platforms and toolsets, that’s true.
Within organisations, it’s not unusual for business teams to precipitate low-code adoption, driven by their own needs to introduce apps that harness emerging capabilities. However, such teams often don’t appreciate the true requirements of running enterprise-scale apps in production. Developers risk unpleasant clashes with these business teams if a selected low-code platform is intended for prototyping-only and doesn’t support the scalability, extensibility and security requisite to their use cases (and to modern production infrastructure in general). For this reason, development teams must make sure they have a seat at the decision-making table when low-code solutions are under consideration.
Developers also commonly hold misconceptions about the resource efficiency of low-code applications, believing them to be inefficient with computing and memory resources and slow to execute. These issues were present with early low-code platforms, but are no more. In reality, the right modern low-code strategy will allow developers to quickly build innovative production-ready applications, which operate as efficiently as applications built the traditional way.
Vigilance breeds resilience
3) Low-code platforms meet enterprise security requirements – but need vigilant oversight.
Again, not all low-code implementations are the same and those meant only for prototyping are likely to also come up short from a security perspective. Developers should vet potential platforms using the following criteria. First, a low-code system should include a built-in security layer and sandboxing. Low-code modules rely on open source and third-party code that requires continuous security patches and updates. Platforms that address these needs are safe for even non-developers to use, while those that don’t won’t be suitable for production use cases.
Developers should also check that their low-code tools openly and willingly share security tests and best practices. Finally, once a low-code platform is selected, developers should get the support of their own enterprise security teams to monitor it and ensure best practices are in place throughout development.
Developers should take low-code seriously… and the low-code platform vetting process even more so.
Low-code development can change the math when it comes to how quickly, easily and cost-effectively developers can deliver applications with modern capabilities. Realising these advantages often only requires that developers overcome their misconceptions about low-code and carefully identify platforms that do so as well. While some low-code options are indeed inappropriate for enterprise use cases, finding the right production-ready option will enable developers to multiply their potential while improving their experiences.