Low-Code Development: A Real-World Perspective from Spiro.ai
Haris Pandžić, Head of Engineering, Spiro
Low-code development platforms have been recently gaining attention in the tech world. The reason for it is simple — they promise easy and fast app building, even for people who are not experts in coding. They are seen as a shortcut to creating software without all the complex coding, and it would be hard to find anyone who does not like that premise. However, the real test comes when these tools are used in everyday scenarios instead of just pet projects.
Take Spiro, for instance. We are a software company that specializes in CRM software for the manufacturing world. Due to the nature of our work, we have had a lot of experience using low-code tools for various aspects of our operations. This article will explore the ups and downs of using these platforms through the lens of Spiro and the developer's perspective.
Drawbacks of low-code platforms
Spiro also utilizes the power of low-code platforms to create in-depth integrations with customer ERPs – systems that hold key business information like orders and invoices. Our core function at Spiro involves syncing this ERP data with our CRM system and establishing a link between customer interactions and their transaction history. This integration is essential for providing customer insights and showing the true value of Spiro.
However, integrating with ERPs through low-code platforms complicates things. Usually, an action in Spiro would require you to communicate the change in the ERP. However, when using a 3rd party platform, we must first notify the platform of the change. Then, the platform uses the Spiro or ERP API for different tasks and notifies Spiro of completion. This shows one of the significant downsides of low-code platforms – they can make simple tasks more complicated than needed.
Beyond performance issues, another significant challenge faced at Spiro with low-code platforms is the impact on developer skill development. Developers often spend as much time, if not more, navigating the low-code platform as they would writing custom code. This situation can lead to frustration, as developers feel their time is spent becoming experts in a specific platform rather than improving their general coding skills. Knowing how to work in one particular low-code platform is valuable within the context of the platform but does not necessarily translate to a better understanding of underlying technologies. It also poses a dual challenge: for developers, it can limit their potential new job prospects, as their skills become too specialized and less transferable; for the company, it creates a dependency on finding new hires with experience in that specific low-code platform, which can be a rare and challenging fit. All this combined leads to a potential gap in the development process and a risk in continuity whenever a developer leaves the company.
Another issue we noticed is the issue of scalability and dependency. As a business grows and its use of a low-code platform increases, the costs can escalate dramatically. This creates a challenging situation where the more successful we are, the more we pay the platform providers, making them successful by proxy. With that in mind, the platform providers can easily increase the price since they know you have nowhere to go.
Spiro’s Response
For a company like Spiro, transitioning from these platforms to a code-based solution is time-consuming and complex. We embarked on a strategic shift in response to the limitations and challenges posed by low-code platforms. We are gradually moving away from relying on external low-code solutions and using our in-house integration platform. This shift allows Spiro's developers to work directly with code, crafting integrations and functionalities more tailored to the company's specific needs.
While Spiro continues to use low-code platforms for more straightforward tasks, the long-term plan is to integrate as much functionality as possible into our core product. We are positioning ourselves to better manage the growth and technological evolution by bringing these integrations closer to our main codebase. It also ensures that our developers are happier and productivity is better. The system is safer, faster, and easier to manage.
In conclusion, while low-code platforms offer notable benefits such as ease of use and speed in development, they may not always be the best fit for complex, large-scale, or highly specialized applications. The key for businesses considering low-code platforms is to weigh the immediate benefits against the long-term implications. It's crucial to assess how these tools fit your overall technology strategy and whether they align with your future growth and development plans. There is always a faster way to do things, but that does not necessarily mean it is the best way.
If it were that simple, we would all be using low-code platforms by now.