No-Code. It almost makes software engineers’ skin crawl. Now someone with no IT knowledge can construct an application which would previously require a software developer at the very least. We almost feel like we are being automated away. While I understand the feeling completely, I’d like to argue that this is going on for a long while.
I myself am a Java Developer and have been working with the Spring Framework for quite some time now. Recently I came to the conclusion that the Spring Framework made me lazy and almost indifferent to technology. Why would I want to implement an adapter for this message queue? I can get it off the shelf. No code is much like that – Another layer of encapsulation to make things easier for the user. I’d call it what it is: Bittersweet.
Abstracting complexity away is something we find inspiring. A framework which makes our life simpler like Spring, Quarkus or .NET Core on the C# side of things is part of the day to day job. Same goes for our colleagues in frontend development, when they’re working with React, Angular or Vue.
Previously it meant that you no longer needed to learn how to integrate with a database, now it means that you no longer need to learn how to write code, much. While we still have the edge cases where we have to change the output of the no-code platforms, that doesn’t happen all that often. We will be busy gathering business requirements, and finding smart ways to solve them within the platform.
Impact on People, Processes and Technology
Bootstrapping up a web application for our client is never as easy as simply clicking a few UI elements together. While someone writing the actual code is setting up their project structure, someone working with No-Code may already have implemented the login page of the project. Because of this, the time to add value is shorter than in the traditional way of developing. It also allows you to change gears and pivot depending on business requirements.
People and Processes
While No-Code may feel like a betrayal to the craftsmanship that we hold dear, we may have to accept that yet another abstraction layer will slowly force the discipline to fade. Ultimately, the quicker we can add value to a product, the better.
To recap: While it’s taken a while for the no-code tooling to land, it’s not going to go away. Now that Microsoft’s offering of No-Code came to my attention, I am forcing myself to take No-Code’s principles a bit more seriously. Software engineers are, as a result, going to see less code, more abstraction, and add more value faster.