Why is Low-Code the Future of Internal Tooling Development?
- Developers spend a lot of time building internal tools
- Most developers "build internal tools from scratch"
- Low-code: A higher level of abstraction
- Beyond CRUD operations
- At the end
- About Openblocks
Developers spend a lot of time building internal tools
According to the state of internal tools report, developers spend around 30% of their time building internal apps. Even surprisingly, when the number of employees at a company increases to 5,000, this ratio rises to around 45%. Internal tools are designed to improve productivity, but is it counterproductive if the developers have to spend a large portion of their time and efforts on building and enhancing these tools?
Image source: https://retool.com/blog/state-of-internal-tools-2021/
Most developers "build internal tools from scratch"
The state of internal tools report summarized the findings of a survey in which 650 developers and technical leaders participated. A sad fact they concluded is that regardless of the scale of the company, a common portion of developers working on customized internal apps from scratch is 63%. Popular programming languages include JavaScript, HTML/CSS, SQL, TypeScript, and Python. As for frameworks, favored ones are React, Express, jQuery, Angular, and VUE.js. The likes of jQuery might credit companies with a longer history which are still maintaining and developing their legacy systems.
It is a waste of time for innovative developers to construct similar systems again and again. A simple and efficient solution is low-code. Many low-code development platforms are built by companies that specialize in providing solutions for app construction. To succeed in this mission, these systems take into consideration the needs of different industries and various types of apps. In addition, users at varying levels of technical expertise are able to create tools that meet specific requirements by proper coding.
Currently, only a small portion of developers are using low-code. It is the right choice and happy to see that they are willing to continue adopting it. However, for the majority of the rest, along with a sense of "pride and prejudice", they are hesitant to try low-code, believing that the business problems they face can only be solved by the lines of code they write.
Image source: https://retool.com/blog/state-of-internal-tools-2021/
Low-code: A higher level of abstraction
Looking through the history of programming languages, from machine languages to compiling languages, or from COBOL/FORTRAN/C to object-oriented programming, there has been a move towards a higher level of abstraction. Higher levels of abstraction are more in line with human thinking habits, thus they are easier to understand and more efficient to reach business goals.
Compared with developing an app using traditional JavaScript, using React definitely makes you stand upon the shoulders of giants because you need much fewer and simpler lines to achieve the same goal. Similarly, why are we still doing it with HTML? Why don't we iterate over an array to produce the same result with just a few modifications?
Lines for an unordered list that contains 3 items in JavaScript and React. What if the length of the list is 50?
Suppose your team is implementing a new payment system for your website. Not to mention the time and efforts devoted to the construction, maintenance, and upgrade of such a complex program, could it work comparably to Visa, Master, or Paypal? Why don't we leave this tedious work to third-party solutions and free ourselves to focus on core business?
Low-code is the solution to all teams struggling with this situation and pursuing similar goals, that is, higher efficiency, less coding, more attention to core business.
Beyond CRUD operations
The main purpose of internal systems is to manage information within the enterprise, including BI data dashboard, admin backend, data entry software, customer service system, and so on.
Image source: https://retool.com/blog/state-of-internal-tools-2021/
These systems often have complex business logic, and require developers to take into account many tasks, such as CRUD operations of databases, construction of the UI interface, interactions between the tools, as well as permission management, audit logs, and more. Starting from nothing, the developers will be distracted by all the details related to these tasks, instead of solving business-related problems.
Let the trends-leading solution to app development - low code - facilitate you with this boring and repetitive work, thus you can focus on the more interesting and challenging part, the core business logic.
At the end
Many developers resist low-code because building systems by drag-and-drop with a small amount of code instead of creating from 0 to 1 makes them feel losing ownership of what they develop and maintain. This might further cause their doubt about their identity as a "real" programmer. On the internet there are quite a lot similar questions, like whether someone who uses the visual editor WordPress is a "real" programmer, or whether someone who uses Shopify to quickly build an e-commerce site is a "real" programmer. Remember that tools are not finishing your job, but doing the simple and repetitive part to save your time and improve your productivity. Without your participation, the online platforms could not be complete what you designed to accomplish. So, the answer to all such questions is definitely a "Yes".
I am a programmer with full support for low-code. Using programming language itself is an action of standing upon the shoulders of giants already. There is absolutely no need to design everything from scratch. The amount of lines is neither an indicator of your identity as a programmer. Margaret Hamilton, one of the outstanding developers in the world. The photo taken in 1969 presents the code of Apollo that their team finished to send humans to the moon. But nowadays, is it really necessary for each team to have such an amount of coding?
Image source: https://news.mit.edu/2016/scene-at-mit-margaret-hamilton-apollo-code-0817
Another reason that delvelopers have strong preferences over the self-created code is that they obtain more sense of fulfillment when typing the code line by line. A similar phenomenon is called "Ikea effect", which refers to the bias of appreciating self-emsembled goods due to the devotion of time, labor and attention. Having observed this preference, many low-code providers such as Openblocks, Appsmith, Retool, Budibase, etc., offer not only an easy-to-use and efficient solution, but programmability, flexibility, and scalability of their platforms. Except guaranteeing the high level of abstraction of low-code, these features also increase the low-code exercisers' sense of fulfillment. For instance, Openblocks advocates "write JavaScript code everywhere" and "write once, reuse anywhere".
At this point, if asked again what I think of low-code, I'll answer with this question: If you have five developers, would you like all of them to build and maintain an internal tool from zero? Or one person to do this work on a low-code platform and the rest to develop products for your business?
About Openblocks
Openblocks is an open-source low-code platform where you can find 50+ built-in components. It also offers excellent documentation to discuss technical details, present practical tutorials, and provide all the information you need know for building an app. On Openblocks, you can get connected to most databases and any API within clicks, design custom components, share apps with colleagues or customers, and more.
Start your first app now and feel free to reach the vibrant community on Discord if you encounter any issue or would like to share an idea!