Director of Avenga Labs
The term is less than ten years old but it became a reality long before.
What are the roots of this movement? The opinions are different and often neglect the old times.
In my opinion it goes back to the 1990s, with Microsoft Office users creating simple and gradually more advanced macros and automation of their work using VBA (Visual Basic for Applications), or even relatively complex Microsoft Access business applications. How do I know? I was doing it and it was my first professional coding experience, before learning more ‘serious’ tools and environments in a professional software development environment.
→ Read about Browser wars. Should Apple and Mozilla give in at last?
I still remember how fast we could deliver business functionality to the users, in days, sometimes even in hours. And then, there was the shock of joining the software house, where the similar functionality took weeks or months.
But . . . those simple applications were local and in local area networks, which worked only for a few simultaneous users. The internet apps were reaching millions of users and viewers, with more or less complex business logic, money flows, and security requirements. So, it has become obvious that simple low code languages at this time were more for “plumbing” the gaps between different applications than creating professional web services and APIs.
At the beginning of the century, there was a huge promise of 4-th generation programming tools and environments and it was another important manifestation of the need for simplicity.
→ Explore Generic API or Back-End for Front-End? You can have both.
I think we should pause here until the new generation of cloud enabled low code tools arrive. Now we can achieve the simplicity and friendliness of the environment with the ability to deploy business applications globally, at the global enterprise level or publicly, for the end users/customers.
→Explore Avenga Cloud services
Low code environments often provide not just simplified high level programming interfaces and environment s, but also convenient integrations with cloud storage, payment gateways, authentication mechanisms using social networks, and cloud databases.
The entities such as customer, product, etc. may be already predefined so you don’t have to start from scratch, but from the higher level business framework which will be extended and modified accordingly.
The most popular platforms are Appian, Microsoft PowerApps (and Microsoft Power Automate), Mendix, Outsystems, Zoho, Salesforce App Cloud, Quick Base, Spring Boot, Nintex, and Track Via.
We believe that the most successful platforms are part of much larger ecosystems, which means Microsoft, Salesforce and Spring.
Low code platforms aim to enable more people to become developers. The vendors of such platforms always try to prove their point by showing how easy it is to learn and produce working solutions using low code compared to the classical application development techniques.
Coding is definitely not for everyone and it’s not just about generational changes, but there are many people simply not interested at all in doing it. Even so called digital natives are mostly content consumers with FOMO (fear of missing out), spending their screen hours on nothing productive and creative. And, even creators mean more often YouTubers or blog writers than developers.
A different category is the employee of the digital era who wants to be as productive and creative as digital transformation technology allows. They are open to learning new things and they usually start with advanced configurations, no code platforms, and on to the low code environments of their choice.
Even 6-8 years old children can do simple apps using prepared environments, creating code with blocks instead of writing code as text, responding to events, creating objects and modifying their state.
→ Explore Avenga Staffing as a Service offering
(An example is a simple arcade game created using the MakeCode platform by a child; please note the laser guns firing back when the B controller button is pressed).
Kids can experience the empowerment of being able to modify things, while not being at the mercy of game creators.
But again, not all of them can do it or will to do it, so the digital divide is visible nowadays even at such a young age.
From the other perspective, older employees who are in danger of losing their jobs because of automation, could help with that automation if they are open to learning low code automation frameworks. Their experience and business knowledge combined with the ability to create code in low code development platforms is a perfect combination for maximum productivity.
The low code also equips people to change their work profile. Again, automation is the cause as well as inevitability of market changes, so learning low code development is an option to succeed in the digital future.
Professional developers complain that low code is not good for large solutions. They miss traditional proven in action code management tools, containers, etc. Too many things happen invisibly for the creator and in cases something goes wrong with the underlying magic blax box, as there’s no control over it.
This also applies to the knowledge of the basics of computer science. Tons of abstraction layers help one to forget about the importance of the basics, but they always resurface in the most unexpected ways. And, low code devs usually skip this part of learning and then are helpless.
One of the key points against low code was always the lack of flexibility. If you follow the path, which was predicted by the creators of the platform, things go really fast and smooth. But once you try to bend the platform too much for the particular requirements, it’s much more difficult or even impossible compared to the standard application development environment.
There are two solutions to this problem. The best one is to have a deep knowledge of the platform and adapt to the user requirements, or in other words, fulfill those requirements by not talking about additional arrows on the screen but about the goal the user wants to achieve. Then propose the technical solution which will be fast and easy to implement. Sometimes it’s very hard as the users prefer to talk about ‘how’ and not about ‘what’.
The second family of solutions is the flexibility of the platforms. Options to augment the application with ‘hard core’ code, which can be embedded when necessary, along with the proper extensibility points in APIs, workflows and business rules are provided by the platform vendors.
The fear of all IT departments in the world is the shadow IT organization creeping in with their amateurish code solutions and then loudly crying for help when something does not work.
It’s one side of the coin of course and the other is the fear that business people will be able to help themselves with low code/no code platforms faster and more efficiently without asking IT organizations for anything.
The trend nowadays is about how to adopt low code development efforts into a larger consistent landscape of IT systems that support businesses. This means more control over the code, its versioning, storing, build process, integration APIs, deployment, and security.
No code attempts to get rid of the code totally by simply using graphical tools showing the flow and data, boxes connected with arrows, etc.
But, the options are much more limited by what can be achieved and low code offers so much more.
Another fear is the vendor lock. Low code development tools are often tightly integrated with the clouds and solutions from a vendor (i.e., Salesforce, Microsoft, etc.).
But . . . if the vendor lock already exists (again – Salesforce, Microsoft 365, for instance), the fear is not valid anymore. It’s happened, so let’s just take advantage of all the available options and fortunately they will include low code tools and environments.
→Explore Avenga Salesforce Platform development services
Another competition comes from the traditional development environments such as Java. In many of the comparisons, the most popular Java Framework, Spring Boot, is considered as a low code platform as it provides a lot of ‘magic’ (infrastructure code) to enable developers to focus on building code providing business apps functionalities.
And it is happening everywhere. Simplified frameworks for development and cloud components with copy & paste clients to use their APIs, all aimed to speed up the application development without sacrificing the flexibility of the solution. Just download a container with the API, which does that for you, or just enable a cloud API and use it instead of writing it from scratch.
And speaking about “from scratch”, the GitHub and other sources provide ready to use solutions for almost every technical problem.
Ironically, it’s much easier to find a solution written in Java, Python, PHP or C# than in one of the low code platforms. So once you go outside the walled garden of your lovely low code development platforms, well, the productivity gains may be quickly diminished by the lack of external help and availability of code to ‘borrow’.
This may change in the near future as the component and API libraries for low code platforms are growing exponentially.
Code is too important for businesses to leave in the hands of amateurs. That’s what you hear from professional developers, but also from decision makers. It is serious to allow non-pros to do it.
The opposite opinion is to allow as many people to achieve their business goals as possible using technology without being at the mercy of professional developers. Let the professionals focus on the most complex stuff, including building the components and APIs to be reused by all developers, pros and low coders.
Coding is no longer being associated with some magic developers squirreled away in basements, with thick glasses, pale skin and green fonts on the screens. The mental barrier has melted away and I thank all the low code movement for that.
Another view is that professional developers can learn low code development tools and become super efficient thus proving their high value again. They should not consider low code as the competition but as another weapon in their arsenal.
The market for low code development is on the rise, with tens of percent of growth year to year. Does it mean that low code citizen developers will take over development activities? Or maybe, the majority of developers will become low code developers?
→ Explore Avenga services within Salesforce EcoSystem
Complex business solutions often look very simple on the (UI) surface for the users.
→Read more about Avenga Customer Experience expertise
It’s a true art of hiding this complexity. But very often the simplicity for the users means a lot of complex automation code below and non-standard behaviors that have to be implemented.
We, at Avenga, believe in the combination of the right tools for the right jobs.
Finding out which tools are best and how to use them in a particular business context, well it’s complex, so don’t do it alone.