Since its birth back in the ’50s, software development is only growing at increasing rates, and software developers were always a scarce resource. In the movie “Hidden Figures”, we see how costly computing equipment from IBM is sitting uselessly at Nasa until a group of women learn how to program it.
I am in the professional software development business since the early ’90s, and I have seen multiple attempts (and worked on a couple of them) to solve the developer scarcity problem. In parallel, they were trying to reduce time and cost. The solutions fall into two categories:
- Frameworks and tools to increase developer productivity (which solves the time and cost problem)
- Platforms enabling non-developers to build software (which solves mostly the scarcity problem but also reduces time and cost)
The second category has evolved with different names, such as 4th generation languages, Computer Assisted Software Engineering, and of course, modern no-code and low-code platforms.
And then we have all those reports by Gartner and others with “prophecies” like “By 2024, 80% of technology products and services will be built by those who are not technology professionals.” Well, Gartner does not employ “prophets.” They use market researchers that go and ask people. So their predictions are based on the actual intentions of actual decision-makers.
So is this the end of traditional software development? The short answer is that software production is changing significantly this time, but there will always be room for developers.
The pandemic has accelerated digital transformation, and we need tons of software that currently available resources cannot deliver. Frameworks and tools for developers cannot keep up with demand. No-code and low-code tools and platforms come to the rescue, but this is not a game of one replacing the other. The road will be bumpy, but eventually, we will reach an equilibrium where all three approaches will co-exist in a hybrid model:
- We will use no code primarily for business process workflows and digital marketing content.
- Low code will be the backbone delivering most custom UI layouts and application logic (front-end and back-end).
- “High” code will persist for complex software components and, of course, low-level software (tools, operating systems, etc.)
The co-existence of the three different approaches and philosophies requires interoperability. However, we cannot achieve that with platforms that use proprietary technologies, create silos, and leave the “high” code alternative as a last resort when the no-code/low-code developers hit the wall of limitations.
In that direction, a low-code platform needs to be open so that users can:
- Turn their low-code project to high-quality code for the framework of their choice to maintain it outside of the platform the traditional way. The platform shouldn’t lock them into proprietary technologies.
- Incorporate any existing software component, whether open-source, commercially licensed, or built by their team. They shouldn’t be limited to the low-code platform’s components or need to write custom code specific to that platform to achieve that.
- Integrate with no-code tools for use cases that are more suitable for that approach. They shouldn’t need traditional development for that.
Is there an existing low-code platform that goes in that direction? Well, actually, yes. At Allcancode, we are building the first open low-code platform in the last three years while using it internally to deliver web and mobile applications for customers. And now, we are in the private beta stage. Feel free to apply for access and be part of a different approach that lets us all work together.