Low-Code/No-Code Development: Democratising Software Development or Lowering Standards?
With the rise of low code development platforms, are we seeing the democratisation of software development or simply the slippery slope to lower standards of engineering? This article will examine what low code development actually is, when it might be a great idea to use it and when you might be outgrowing your low code software solution.
What is low code development?
Low code development has risen in popularity in recent years thanks to some very powerful tools that have entered the market. They typically focus on UI building in a simple WYSIWYG (What You See Is What You Get) style, while allowing you to include logic that would usually be reserved for the software engineers of the world. Some that I have used in the past and had great experiences with are:
WebFlow - Great for quickly creating responsive websites with the added benefit of jumping out of the guard rails of the product and including your own custom logic and styles.
SuperBlocks - More emphasis on data integrations than WebFlow, allowing you to quickly spin up dashboards and data driven web apps.
Appsmith - Another similar tool to SuperBlocks that fits the same market segment. Hook in data sources from any database, RESTful API or similar and away you go.
WaveMaker - All the above products focus exclusively on web - but with WaveMaker you can utilise a low code platform to spin up a cross platform mobile application.
What are these products great for?
If business resources were infinite, there's no question that it would likely be more beneficial for software engineers to take on the tasks these low code development tools are aimed at. However, that corporate utopia does not exist - so when should you reach for the low code development tool?
The most common user for a lot of the web app and mobile app low code development solutions are non technical start up founders. You can spin up a rather sophisticated MVP (Minimum Viable Product) for a lot of use cases with the above tools. The quicker you are to market, the quicker you can start iterating on that product and test that crucial product market fit that all start ups are looking for.
Another great use case for a low code solution, especially a tool like WebFlow, is for creating flexible marketing pages. It's a requirement of almost any business and I so often see the need to bring an engineer off a regular project in order to make an update to the marketing site. Continuing to use WebFlow as an example, you can create sites to any design quickly and easily with little or no programming skill. If you need to update any design or copy, it's super simple for a non technical member of the team to jump in, leaving your engineering resource free to continue with your core business projects.
Any product committed to by an existing company means they are also committing to the maintenance of that product going forward. It's no secret that the internet and its ecosystem steadily evolves over time. Dependency updates, security issues and the general unyielding progress of the web as a medium mean keeping a web or mobile application simply treading water is an ongoing job. You might notice that both SuperBlocks and Appsmith both target a large portion of their landing page marketing at large corporations looking to create and, crucially, maintain internal tools and data views. By creating these internal projects using a low code platform you free up development resource in the future as, theoretically, a non technical individual has more chance of making any necessary changes while the platform itself maintains the foundation of the code itself.
What are they less good at?
While great at getting your ideas from zero to one, one must understand that these low code development tools are platforms aimed at providing a great experience within their own set of limitations. As you begin to scale your product you might start coming up against these barriers designed to take choice away from the everyday user and navigate them down a path of least resistance for the platform. It's not uncommon for a start up to start generating revenue from their low code solution and then look to build out with their own team of engineers following successful product market fit.
You are also not going to be able to build EVERY product with a low code development tool. Some ideas and businesses require something that is simply too bespoke for these platforms to provide an appropriate solution. Certainly try them out and see if they fit your needs, but do not be surprised if you want to stretch the boundaries of a low code development platform just a little too far.
Conclusion
It all boils down to what problems your business is trying to solve and what stage you are at. Bootstrapping something and validating an idea? Perfect! Looking to scale your product beyond initial concept? You might start to hit some walls sooner than you might think and it could be worth investing in a bespoke solution.