Can Low-code be Pro-code too?

Written by anthony-morris | Published 2021/09/13
Tech Story Tags: low-code-platform | low-code | programming | coding | software-development | development | low-code-vulnerabilities | low-code-technical-debt

TLDR Software development is not a fixed project with a fixed budget but a constantly moving goal based on the needs of the business and defined by market dynamics and consumer demand. At its heart, software creating and the process of code is a creative pursuit. Developers are builders and problem-solvers, constantly solving the puzzle of consumer demand and technology. As a result, they provide innovation, and their software is a differentiator for the business. But if developers are creative and they are visual, then why they don't draw code? And why are pro developers not using low code platforms?via the TL;DR App

We all know the natural progression of software development. Take an idea, plan it, design it, build it, test it, solicit feedback, and finally move it into production.
However, software development is, more often than not, not a fixed project with a fixed budget but rather a constantly moving goal based on the needs of the business and defined by market dynamics and consumer demand. 

Coding is Creative

At its heart, software creating and the process of code is a creative pursuit.  Developers are builders and problem-solvers, constantly solving the puzzle of consumer demand and technology. As a result, they provide innovation, and their software is a differentiator for the business. But if developers are creative and they are visual too. Any developer worth their code would have spent time designing it on a whiteboard, solving their approach using flow charts, sequence diagrams, class diagrams, and more.
But if developers are visual, then why they don't draw code? And why are pro developers not using low code platforms to leverage those platforms in their development space? 

Inherent Bias

Talk to any developer, and they will dismiss low-code tools for a myriad of reasons. 
Some of their gripes include:

Too Many Flavors - Which tool to use? Which tool matches my use case?  There are new entrants to the market daily, ranging from website generators, form builders API connectors to more sophisticated offerings such as database builders and workflow automation. Each targets different domains and requiring varying levels of technical proficiency.
Low-code is for Citizen Developers - There is a common perception that low code platforms are created for citizen developers and are not suitable for professional programmers. They would argue that many of these platforms cater to this market, and by design, cannot match the technical freedom required by seasoned developers to build and handle complex products and services. 

One-way Traffic - Most platforms are driven by use-case, using domain-specific languages. As a result, they are (generally) not compatible with code editing.

Software Lifecycle - Most low-code platforms have their application life cycle that, more often than not, doesn't support the generic principles of a software developer. This includes features such as version control, testing, and debugging tools.

Integration - Many vendors offer limited integration beyond that provided by the platform.  Although they provide prebuilt integrations with most of the major players in the market, the very nature of development dictates there will always be scenarios where you need something custom. What if you need to create APIs that need to integrate with many endpoints? 

Vendor Lock-in  - Several low-code platforms create some proprietary code and then use a specific runtime to run. Developers cannot take that generated code outside that platform, modify it and run it where and how they want it. 

Making Low-Code Work for the Professional Developer

The new generation of platforms addresses many of these concerns around low-code for professional developers.  Several mature developer-focused tools such as Mendix, Power App, and OutSystems support many of the features that pro-code developers’ features daily. This includes the ability to add custom code alongside prebuilt functionality in addition to other features such as the ability to build connectors to other systems via APIs. They also offer developer-loved features such as debugging and testing. Linx takes this process even further. Here the developer works with an abstraction of programming itself and is not constrained by a domain or use-case-driven paradigm. This makes it particularly powerful for the developer to work fast and maintain the ability to meet the complexity demanded by traditional software development. 

Low-Code Can Reduce Complexity

For most organizations, the journey to modernization can take many forms. For example, moving to the cloud and modernizing applications is complex, time-consuming, and costly.  Do we have the right technology? How do we plan the rollout? Do we have the right skillset?  How long will it take to deliver value? 
If your team needs to develop some sort of enhancement to an existing set of systems, a low-code platform can provide a bridge to doing that. For example, qualified professionals must build secure, scalable custom apps, and experience is necessary to build protected authentication infrastructures with sophisticated user interfaces. A low-code system can handle the stack, including software layers such as the hosting, micro-services, database servers, client applications, workflow objects, APIs, security, libraries, and artifacts that make the app work. 
However, you'll need to tackle the logic. Lucky, with Linx, there’s a low-code platform for that too.

Published by HackerNoon on 2021/09/13