Calculating... until our next FREE Code-Along Session. Secure your spot now

Build Your First Web App Today

Your 14-Day Free Trial Is Waiting To Be Activated
GET INSTANT ACCESS READ MORE ABOUT FIVE

Citizen Developers vs. Software Developers: Is Coding a Thing of the Past?

Avatar photo
Dominik Keller
Apr 8th, 2023
Blog

Citizen Developers vs. Software Developers: Is Coding a Thing of the Past?

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?


Low Code. For Real Developers.
Build & Deploy Applications In Low Code, JavaScript, TypeScript and SQL.



What Is a Citizen Developer?

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.

The Characteristics Of A Citizen Developer

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:

  1. Job Role & Skills: A citizen developer works in a business role, such as HR, Finance, Sales, or Marketing, and has not learned and consequently, does not know how to code.
  2. Existing Job Scope: Their existing job scope does not include application development.
    They are not compensated for building applications. It is not their main job to build applications and never has been. This means that turning a business professional into a citizen developer requires changing their behavior: people that have previously only consumed software are now supposed to produce software.
    This might sound trivial, but remember the last time you were asked to take on additional responsibilities in your job without additional compensation? Yep.
  3. Training: To turn a business professional into a citizen developer, new incentives or at least structured on-the-job training need to be provided.
  4. Development Style: Because citizen developers have only ever consumed applications, they easily understand the application front end. They prefer building applications visually and in What-You-See-Is-What-You-Get (WYSIWYG). The link between what is being built and how it works is immediately visible.
  5. Use Cases and Users: Citizen developers build applications that make their own work easier.
    Typical use cases for citizen developers are small, departmental applications, such as going from Excel to application. They are the builders and users of their applications.
  6. Development Process: Citizen developers do not know about the software development lifecycle.
    They will build applications ad-hoc and without necessarily following a proper development process that incorporates development, testing and production environments, or versioning.
  7. Accessing Data: The typical citizen developer uses off-the-shelf software systems to get their job done.
    They access data in SaaS applications, Google Sheets, or Microsoft Excel.
  8. Storing Data: Spreadsheets are what a citizen developer is comfortable with. Relational databases? Not so much.
    Citizen developers believe that application development on top of a spreadsheet as a system of record is a valid approach. They are typically not familiar with relational database and their way of working. Primary keys, foreign keys, and relationships are not concepts that they are typically familiar with.
  9. Tooling: A citizen developer’s application development process is typically not supported by other tools.
    Their application development toolbox does not include specialized tools for versioning, debugging or ticketing.

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.

Five.Co - Software Developer vs. Citizen Developer Comparison

What Is A Software Developer?

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.

The Characteristics Of A Software Developer

  1. Job Role & Skills: A software developer works in software development and knows how to code.
    It is a skill they have acquired and honed over time.
  2. Existing Job Scope: Software developers are compensated for building applications.
    Application development is their main job. They have always produced software, primarily for consumption by someone else.
  3. Training: Software developers are required to stay up to date with the latest technologies, a task that is getting tougher every year because technology is aging faster than ever. However, for a lot of developers, software is their passion, so keeping up with technology comes naturally to them.
  4. Development Style: Unlike citizen developers, software developers know that the front-end is just the tip of the iceberg. The real magic happens in the back-end.
    They understand that the back-end is the foundation of a successful application and that the front-end is just a visual representation of the underlying data structure and business logic.
  5. Use Cases and Users: Software developers build whatever is required of them: web applications, mobile applications, or progressive web applications.
    Inside larger organizations, software developers typically work together with business analysts, who are in charge of gathering application requirements. The users of the applications that they built can be internal or external users. They rarely build software for their own use.
  6. Development Process: Software developers follow the software development lifecycle, using project management approaches, such as agile or waterfall. They will build applications in a structured manner, following proper processes.
  7. Accessing Data: APIs, get, put & post requests, JSON files: accessing data is a means to an end for a software developer. What matters is having a well-documented way to access data.
  8. Storing Data: a software developer does not care so much about the actual data that is being used or stored by an application, but about the structure and format of the data. They understand the advantages of relational databases over spreadsheets.
  9. Tooling: A software developer’s application development process is typically supported by other tools. Their toolbox includes things such as version control or bug tracking.

To sum up: a software developer is a trained professional, who builds applications for someone else’s use following a structure approach.

The Risks Of Citizen Development

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.

Five.Co - The Risks of Citizen Development

Vulnerabilities and Security Threats

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.

InformationIsBeautiful.Net - Largest Breaches & 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

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.

Maintainability

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).

Software Developers vs. Citizen Developers: Who Should Be In Charge Of Application Development?

Five.Co - Software Developers vs Citizen Developers Differences

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.


Start developing your first application!

Get Started For Free Today

Sign Up Free Book a demo

Build Your Web App With Five

200+ Free Trials Started This Week

Start Free

Thank you for your message!

Our friendly staff will contact you shortly.

CLOSE