Will No-code Development Platforms Kill Coding?
No-code development platforms are software that allows non-programmers or users to build applications using a GUI or visual flow. No-code development platforms work with a WYSIWYG editor, allowing users to quickly connect elements, components, and styles together.
For example, Webflow, a no-code development platform for building websites allows users to select functional components and arrange blocks of elements in visual flow. A website can then be built block by block, element by element, with the designer adding and removing components as he/she deems fit, circumventing the necessity to learn HTML or CSS.
The no-code platform solution is directed mainly at non-programmers and business managers, allowing them to build business solutions that are efficient, scalable, and cost-efficient on the fly. No-code is a revolutionary innovation to the traditional way of building apps. It takes away the middleman (the developer), who stands in-between the app and the management. It takes away months of planning, countless interactions between management and the developer to get the product right, and removes extensive testing by quality assurance engineers.
Benefits of no-coding platforms
- Increased efficiency
- Increased productivity
- Less costly
- Quick delivery
- Increase level of diversity
- Customer satisfaction
Why are No-code platforms popular?
The hype around no-code development gets bigger by the day. In fact, according to Github CEO, Chris Wanstrath
The future of coding is no coding at all.
When COVID happened and people had to work from home, it exposed the demand and supply gap of business solutions – the fast-rising number of digitized solutions needed were undermined by the limited number of skilled developers available to create those solutions. Many solutions to track and minimize the effects of COVID itself had to be built quickly, including the New York engagement portal, which was built on Unqork, a no-code platform. The rising demand for software could not be met by programmers, who were limited by their numbers, skill, and time and so people resorted to other ways to create software.
Not only did the pandemic create a surge in the use of no-code platforms, tech giants like Microsoft and Google with their respective PowerApp and GoogleApp Maker continue to push these solutions as the perfect way to bridge the business-to-programmer gap.
Is No-code a novel idea?
Absolutely not. In 1997, Macromedia created Dreamweaver, a no-code platform for creating websites. Visual Basic and Access (launched in 1992) generated user interfaces automatically from a database. WordPress, which is a content management system and low-code platform has been around since 2003.
It is remarkable to note that no-code software has been around for more than two decades, yet they did not take-over coding. Instead, they come and go, or work alongside traditional coding.
Is No-code the future of software development? Will it eradicate traditional coding?
As No-code software continues to grow, there are concerns by IT specialists if it makes sense to leave the business of building applications to non-programmers. There are also concerns if these platforms mean the end to professional coding as we know it, and replace developers.
I’m a former software engineer, so I used to have the same fear. Just because coding has been automated doesn’t mean the entire skill is gone. In fact, it may even be more valued now. Every business will have something unique that can’t be addressed by a no-code solution. You still need developers for the exceptions that these visual tools don’t support.
No-code won’t be replacing traditional coding soon, and here’s why.
Limited options
No-code solutions are only suitable for businesses that offer simple solutions. Everything fits only if it is within the setup of the no-code software vendor. No-code solutions do not offer the same precision and inclusiveness that traditional coding does.
Because it’s a higher level of abstraction, it will be limiting in some ways. You won’t have the same flexibility as code.
The no-code platform provides templates that can be tweaked by the user to fit his own creativity. Sadly, they can’t cover every single specific feature needed by a business. It limits the options available to the user because he has to make do with the components available or seek additional help, which will require more money.
Traditional coding considers all the complexities of a business – security, database, and features. Businesses that are big and complicated cannot be built with no-code platforms as they would be confined to the model, customizations, and themes of the vendor.
It is also important to note that business solutions to be built on no-code platforms must be very specific and strict with their requirements. Proper research on the different no-code vendors should also be carried out. This is to streamline the requirement a business needs with what a vendor offers as not all vendors offer the same features.
Vendor lock-in
Vendor lock-in is the most prevalent fear of using no-code platforms. Having an app tied to a specific vendor means having to work within only limits, integrations, and provisions made by the vendor.
Cross-compatibility is not a thing yet amongst no-code vendors. Migrating from one vendor platform to another can be daunting or almost impossible. If you are using a particular vendor and it lacks a particular feature you need, integrating that specific feature from another vendor is unlikely. You would have to redo the application in that other vendor.
To keep a user on their platform, some no-code vendors do not generate source code, others generate convoluted source code that is almost impossible to edit or maintain outside their platform, making you stuck with them.
This is in direct contrast to traditional coding where code is written for maintainability and portability, making it a preferred choice for many.
No-code software is not built on no-code platforms
Ironically, no-code platforms are not built on no-code platforms. Their software is built by professional developers who carefully use software methodologies and actual code to create a software that others can build on. These developers are also needed to maintain, upgrade, and scale the no-code software as needed.
No-code solutions have an extensive reach as they run on cloud technologies and must cater to users building applications on an application. A no-code platform cannot handle another no-code platform. These platforms cannot kill coding because they need software engineers to build and maintain them.
Security and database concerns
No-code platforms do not come with their own database management module. This must be integrated by a third-party app which may be poorly integrated making it difficult to save or access structured data. It also leaves data open to many sources and out of a business’s control.
These vendors do not force the designer to think of security or observe security practices. Most of the no-code vendors are secured on their end but leaving the application development to a non-expert may create breaches within the system.
The business does not have 100% control of its application, its source code, or the internal models of the vendor. What also happens if a vendor is liquidated, acquired or they suffer some internal breach? What is the state of the business then?
Because of this, some businesses are more comfortable with traditional coding that gives them 100% access and privacy to their own codebase and datasets. And if they were to have issues, they can easily replicate their code.
Technical knowledge
No-coding platforms may have been developed with non-technical persons and non-programmers in mind, but someone with zero knowledge of how applications work cannot use these platforms. Trying to develop an app with any no-code vendor requires some technical knowledge of how either mobile or web app works (these are the two major applications built on no-coding platforms). Zero-knowledge users will create an application/interface that is a messy, convoluted, and frustrating experience to users.
The user also needs to have knowledge of how a particular vendor works and how the different components can be put together to create a complete application. Although, learning this takes a much shorter time (even in hours) than learning how to code.
Cost
One of the biggest hypes around no-code is cost-efficiency. But these platforms are quite expensive if not more expensive than traditional coding. They shroud their cost behind different plans - free (highly limited) plans, premium plans, plans for teams, plans for agencies, plans with additional benefits, and so on, making the user pay more to have the best service. Some third-party integrations also do not come cheap, adding more cost to the user.
Conclusion
The no-code platform has many advantages for small and simple business solutions, but it also packs many disadvantages that greatly limit its potentials, despite its good intentions. By dodging developers to create software, we will be creating a gap in the system, that will need another software or innovation to fill.
Developers can never be truly removed from software development. It takes more than writing code to make a good programmer – the logic, the process, and the skills are things no-code platforms cannot replicate. No-code cannot replace the expertise of software developers and coding. That will be its own undoing.
Many tech CEOs are also in support of no-coding platforms. It is their vision to make tech opportunities available for everyone and at every level.
There is a huge opportunity to rethink training for jobs. With technology changing rapidly and new job areas emerging and transforming constantly, we need to focus on making lightweight, continuous education widely available.
Many killed developers are also embracing the no-code development platforms as a faster way to develop simple solutions. Will it make software engineering teams obsolete? No. Instead, it takes the bar higher for them, allowing software engineers to focus entirely on skills, which cannot be replicated by an algorithm.