Build apps without code.
Quickly build business apps. All without code.
Build professional apps visually.
You will never go back to coding again. Seriously.
In the past, software development was the realm of experts.
Only trained professionals knew the difference between Java and JavaScript, between a dictionary and an array, or between == and ===. Building software required specialized skills that only trained developers possessed: from knowing how to write, read and debug code to keeping applications running at 99.999% availability. But apparently, this is changing.
Some no-code and low-code tools promise that anyone can build applications. Not software developers, but citizen developers are supposedly taking over application development.
Software developers vs. citizen developers: what is happening to the traditional software developer role?
Is coding a thing of the past? And will citizen developers be the future of application development?
A citizen developer is a non-technical person who develops applications.
However, this definition almost seems to be an oxymoron. What is a non-technical application developer?
In a world where almost job requires training, specialization, and skills, software development seems to be the rare exception. Instead of requiring specialized skills, anyone, with any skills, can build software applications, regardless of their professional background.
So, let’s a closer look at who citizen developers are, their skills, and what they have done before they started building applications.
Arguably, the definition of a citizen developer falls short and is too simplistic. Of course, there is more to the idea of a citizen developer.
Here’s how we would characterize a typical citizen developer:
To sum up, a more comprehensive definition of a citizen developer is a business professional turned application developer, that does not possess specialized front-end or back-end software development skills, and who primarily relies on visual application development approaches to build applications for their own consumption.
Software developers: the wizards of the digital economy. Software has transformed how people live their lives, and how businesses operate. But who are the people behind the code? Let’s define the characteristics of a software developer.
To sum up: a software developer is a trained professional, who builds applications for someone else’s use following a structure approach.
Citizen development is an interesting concept, and I applaud anyone who takes the plunge into application development, regardless of their background or role. But it also comes with risks.
Just because everyone can build applications, it doesn’t mean everyone should be building applications.
Custom software typically isn’t safe. Even software produced by highly-trained professionals creates exposure to vulnerabilities. A beautiful illustration of just how frequent breaches are is available through Information is Beautiful, which provides a regularly updated dashboard of the world’s biggest data breaches and hacks.
To give just one example, remember the Solar Winds breach from 2020: this was a supply chain attack, where software company SolarWinds’ product Orion was compromised through a piece of malicious code that hackers inserted into Orion’s software updates.
Orion is a software solution written and maintained by a professional team of full-time software developers. It doesn’t take much imagination to foresee vulnerabilities in software that is written and maintained by a non-professional team of citizen developers, who (unlike their professional peers) create applications in addition to their day-to-day work.
Without a sound security policy or involvement of cybersecurity professionals, there is a high chance that citizen development increases exposure to security threats and vulnerabilities.
Shadow IT describes application development that is happening outside the oversight of central IT. Citizen development can easily lead to a patchwork of homegrown software solutions, which exist outside anyone’s control or mandate.
While shadow IT can lead to efficiency gains by encouraging grassroots innovation, the risk is that these small, departmental apps are undocumented, untested, and not under anyone’s proper oversight.
Because these applications are not provided by a professional vendor, they may develop a life on their own, where they become business-critical without anyone having a contingency plan for when the application breaks down, or when the citizen developers leave the organization. After all, internal citizen developers don’t provide service level agreements (SLAs) or response times.
The third and last risk of citizen development relates to maintainability.
Typically, no-code tools for citizen developers use a visual, What-You-See-Is-What-You-Get (WYSIWIG) approach to application development. They try to reduce or eliminate code as much as possible. This contributes to a faster speed of development. But the downside is a loss of control and maintainability.
For example, expressing an “if-then” statement in raw code can be much more efficient than building it visually. Even for the very citizen developer who has built an application, it can be hard to go back to an existing application and understand the visual application logic.
Reading standard code may look complicated. But sometimes it is in fact the easiest solution to a complex problem. Commonly used programming languages, such as JavaScript, Python, or SQL also have great support communities and documentation. If a software developer encounters a problem, there is a good chance that they can find a solution on StackOverflow. The online community and available support for citizen development do not match the size of the developer community (yet).
Even though the comparison of software developers vs. citizen developers seems to favor software developers, it’s not all black and white.
I find it somewhat naive to assume that a business professional who has never developed applications before can be expected to build complex and business-critical applications. The reality is that many business professionals struggle to create a Pivot table in Microsoft Excel or a meaningful dashboard in PowerBI.
However, there are a lot of non-coders who have a demonstrated interest in coding. Popular coding website Codecademy, for example, has more than 40 million learners. That’s twice the number of software developers in the world. During the pandemic, millions of people decided to learn coding (including yours truly) through online bootcamps and MOOCs.
Would these people be considered citizen developers? Certainly not, based on the characteristics described above. They have a basic understanding of programming concepts and languages, such as JavaScript, SQL or Python.
Would they be considered software developers? Again, the answer is no: learning full-stack development requires more than a 12-week bootcamp.
These tech-savvy business users present a middle ground in our discussion of software developers vs. citizen developers. Equipped with the right tool and training, low-code could be the best programming language to learn for them to drive business outcomes.
And together with professional software developers, these tech-savvy citizen developers might be the best people to include in an effort to democratize application development.