Low-Code Development Tools, Citizen Programmers, and Best Practices in Programming

Enrique Almeida
3 min readJun 13, 2023

Introduction:

In today’s rapidly evolving technological landscape, the demand for software development has grown exponentially. To address this demand and enable faster application development, low-code platforms have emerged as a game-changer. These platforms empower citizen programmers, individuals with little to no coding experience, to create functional applications using visual interfaces and drag-and-drop components. However, even with the ease of low-code development, it is essential to adhere to best practices in programming to ensure the delivery of efficient, scalable, and maintainable applications. In this post, we will explore the world of low-code development, the rise of citizen programmers, and the importance of following best practices.

Low-Code Development:

Low-code development platforms provide a visual or text environment that allows users to build applications with minimal coding effort. These platforms offer pre-built components, templates, and drag-and-drop functionality, enabling citizen programmers to create applications quickly. Low-code platforms eliminate the need for extensive coding knowledge, making application development accessible to a broader range of individuals. With low-code development, organizations can reduce their reliance on professional developers, accelerate the software development lifecycle, and deliver applications more efficiently.

The Rise of Citizen Programmers:

Citizen programmers, also known as citizen developers, are individuals from non-technical backgrounds who leverage low-code platforms to build software applications. These individuals possess domain expertise and a deep understanding of business processes, allowing them to bridge the gap between technology and business requirements. By enabling citizen programmers to develop applications, organizations can leverage the collective knowledge of their workforce and drive innovation from within. However, it is essential for low-code platforms to ensure compliance with best practices in programming, as citizen programmers may prefer to remain functional specialists rather than undergo programming training.

Functional specialists will not have the time or inclination to specialize in the finer details of programming. Therefore, tools must fill this gap by addressing issues such as good naming conventions, data normalization, graphic design, security, modularity, performance, data integrity and more. This sets a high standard for low-code tool providers because simplifying and hiding the complexity of these tasks is no easy feat.

For critical or high-demand applications, it is evident that technical programming specialists will be necessary. However, for a vast number of applications, citizen programmers can be self-sufficient if the tools guide them appropriately. This opens up the possibility of having a much larger number of proficient application developers, capable of delivering functional and reliable solutions without extensive coding expertise.

Conclusion:

This situation reminds me of the era when the first computers for small businesses emerged, such as VAX, S/36, and S/34. Companies saw the competitive advantages and increased productivity that computers could bring, but there was a lack of programmers who could develop the necessary applications. During that time, the industry created simple programming languages that allowed individuals with extensive business knowledge but limited programming skills to create programs to address their needs. While this was a good solution for bringing people into the industry and creating applications, the quality of these programs was often questionable and led to immense maintenance issues in the following years.

It would be beneficial for low-code tools and artificial intelligence provided to functional analysts who are starting to program to adhere to best programming practices. This way, we can avoid repeating past mistakes and the associated costs, ensuring that the applications developed are of high quality and easier to maintain.

--

--

Enrique Almeida

Me gano la vida programando y diseñando sistemas. Soy co-fundador de Concepto, Manejando mi obsolescencia planificada