Preface
A new wave of platforms and tools are emerging to empower people to create software solutions - without needing to learn how to code. This growing “no-code” movement is expanding the ecosystem of application builders and businesses, and it’s going to impact not only how software gets created, but by whom. As someone from the traditional world of software development exploring this new frontier, I’ll share my perspective on no-code development, how technical coders and teams can incorporate no-code into their strategy, and how this movement might impact the landscape of software.
Developing Perspective
My initial reaction to no-code was one that’s not uncommon amongst developers: “No code? No thanks, I can code.”
This outlook shifted, however, as my “not built here” engineering syndrome gave way to my need to save time on projects where output mattered more than implementation. Curious, I decided to dive in and explore the space, and my findings surprised me. Sophisticated applications with data models, authentication, procedural logic, interactive workflows and more are all achievable - far from the basic content management I was expecting. There were limitations, yes, but the speed and ease with which I could build useful applications and automations was compelling, even for someone who could craft them by hand. In fact, my experience with code definitely helped me be more productive with no-code, as I recognized and could utilize the same concepts. The interfaces were different, but the principles of building software familiar.
I quickly came to the realization that no-code is just programming, at a higher level of abstraction. Instead of expressing computer instructions through symbols and syntax, the no-coder designs and builds solutions with boxes and buttons. It’s software development, in a visual programming language.
A New Abstraction
The concept of abstraction, removing details to focus attention on features of higher importance, is foundational in computer science. All software today is already built on successive layers of abstractions, each of which hide complexities so that developers can build more efficiently. Software libraries abstract common logic, frameworks abstract common patterns, and API’s can abstract entire business domains. Every programmer already stands on the shoulders of giants: the coders and companies who create and maintain the mountains of code and systems they leverage.
No-code is no different - it’s a new layer in the software abstraction layer cake. Visual programming tools abstract code away from the creator, making them significantly more accessible. The real magic of these tools, however, is how they integrate all of the underlying layers of software into end products, providing useful functionality through modular components that can be harnessed through intuitive visual interfaces.
In actuality, the term “no-code” is a misnomer as code is still very much in the picture, despite no longer being in the frame. No-code tools and the applications they produce are still powered by tons of code - the ability to wield that power is just being made possible without having to see its underlying complexity. The result, as it is with all good abstractions, is that instead of spending time figuring out how a piece of software will work, the no-code practitioner can focus on what it’s supposed to do.
Building with Blocks
If developing software is like woodworking, then coders are builders who’ve studied a specialized craft with skills like carving and chiseling. These skills enable them to construct their own pieces and create just about any structure they can think of.
The no-code movement is seeing a wave of providers offering kits of pre-made, intuitive building blocks that can be mixed, combined, and snapped together to create new structures. While constrained to the blocks available, the possibilities for the designs of these structures are virtually limitless, and they can often be assembled in a fraction of the time and cost that a custom code structure would require.
Building with these blocks still requires thoughtful design and engineering of how pieces fit together, deciding which blocks from which kits to use for a given set of requirements, and the most universal programmer skill: figuring out why things aren’t working. No-code construction may look different, but the materials and processes are based on the same principles. And these new building blocks are bringing new builders to the scene.
No-Code’s Rise
While visual no-code tools for developing software have been around for decades, the no-code movement has risen to new prominence in the last year. One explanation for its growth is the rise of the “API economy” - the evolution of companies packaging up services and offering them through programmatic interfaces. The proliferation of building blocks at the API layer is enabling the creation of no-code tools that can combine an increasingly wide range of services into powerful applications. On top of this, the rise of hacker and maker culture is driving the movement forward through a growing population that’s eager to build, automate and create with technology.
At a broader level, no-code can be seen as a platform shift in response to the enormous demand for technology and automation in our modern world. Less than half a percent of the population knows how to code, and there simply aren’t enough developers to meet the demand for software solutions. One response to this shortage has been the Learn to Code movement, which is helping to accelerate people up the learning curve to the level of technical literacy needed to write traditional software. While important, there are limits to this initiative’s scale, and the overhead of learning to code is still high for those just looking to pragmatically leverage software to solve problems.
The no-code movement represents a shift in the curve itself - evolving technology to reduce the complexity needed to be mastered in order to create software solutions. By removing computer code from the development process and adopting a familiar visual medium, no-code tools are lowering a massive hurdle that has kept many from contributing in the realm of modern software creation. Citizens of the digital age, knowledgeable in the language of digital user interfaces, are discovering something truly exciting: if you want to create an app, there may just be an app for that.
New Blocks Means New Builders
This shift has enormous potential to diversify the pool of talent and creative ideas brought into the world of technology. Lowering the barrier to software creation will attract people into tech and entrepreneurship from a much broader range of backgrounds and perspectives. This is unequivocally a good thing for everyone, as what gets built (and for whom it does) is naturally biased by the builders. For many, no-code will unlock the ability to pursue ideas and address problems with new perspectives or in new areas. For others, no-code may even serve as a stepping stone that gives the motivation needed to dive into developing software with code. All who invest in learning these tools will discover powerful new ways to think, solve problems, and create.
The potential creativity that this will unleash in the form of new projects and businesses is personally exciting to me. What ideas might be able to flourish when complexity can get out of the way of creation? That is the possibility of no-code.
By democratizing access to software creation, no-code is going to empower many more minds to solve problems with technology. This movement has the potential to inspire a new generation of creators by giving them belief in a powerful phrase: “I can build that”. For myself and many others who’ve had the privilege to learn how to code, that’s what programming represents. No-code is new programming - I hope you’ll join me in welcoming it as it says hello, world.