The Citizen Developer

Are Companies Advertising Jobs for Citizen Developers Missing the Point?

Recently, a well-known major corporation that has been providing food and health products for more than 150 years advertised for a "Senior Specialist Applications – Citizen Developer." At first glance, that ad might be seen as further evidence of the accelerating growth of this new job category. And yet, my recent search for "citizen developer" on one of the major job boards returned only 11 listings. So far at least, demand for true citizen developers doesn't seem to be setting the world on fire. But is the fact that an organization like this one is seeking to fill that role with that label a good sign? Or is it a sign that some enterprises are missing the point of citizen development?

What Exactly is the Point?

The concept of citizen development grew out of the shortage of available software developers who were able to build applications using formal programming languages to create code. Innovators realized it would be incredibly valuable to create development platforms for non-developers with solid knowledge of the business processes they wanted to automate.

And that's the point: Providing low-code/no-code (LCNC) tools to knowledgeable insiders eliminated the need to hire someone from outside the organization with little knowledge of the company’s processes. The idea was to enable existing employees who knew their operations to create their own software, not hire someone to come in and write that software with simpler tools but no operational knowledge.

Organic Application Interaction

The rate at which citizen development is being adopted suggests that the way in which we interact with software has changed and is continuing to change. Go back a few decades to the time of mainframe and minicomputers and most applications were huge in scope. Programmers would spend months architecting those systems, more months coding the applications, a few more months testing, and even more months rolling them out to users.

A single error in a system developed with this monolithic programming approach could cause whole systems to crash and grind all work in the organization to a halt. And it could take days to debug and fix. The development of microservices in containers reflects the desire to circumvent the shortcomings of monolithic programming. On a large scale, what was sought was literally the dis-integration of systems, which would result in a far looser coupling among discreet operations. A failure of any component would be isolated and quickly resolved without impact to other operations.

Extrapolate from this approach to a more macro-level and we may see large systems, even those developed as microservices in containers, give way to a more dis-integrated array of individual applications developed by their users to accomplish exactly what they needed to accomplish in exactly the way they wished. We might need to have a systems supervisor provide interconnects between the citizen-developed modules, but even this would prevent any individual failure from crippling the entire enterprise.

A very likely evolution of citizen development will further democratize how we interact with software and technologies in general. Because we fashioned them ourselves, the user-application relationship could change. We might find ourselves considering our systems to be our partners, and they may even feel like our own children (so to speak). Even now we find ourselves reflexively thanking our Alexas, Google Assistants, Siris, and Copilots. But perhaps best of all will be our ability to reach in and improve them where and when we see opportunities to help them perform even better.

Staying Ahead of This Evolutionary Curve

The time is now to start thinking about how our systems will look when many segments of them are user-produced. This starts with thinking of them as being segmented in the first place.

There will be questions to consider: How will we architect this segmentation in advance in preparation? What standards can we establish and publish to help citizen developers achieve the easiest possible interoperability between their digital daughters and sons? Will everyone be better served by establishing standard nomenclature for various common objects that will occur in multiple applications? Can we build citizen libraries to accelerate and homogenize citizen development?

And (Of Course) Where Does AI Fit In?

Even now we’ve seen the role of artificial intelligence (AI) in citizen development explode into popular use. Will AI be the ultimate assistant, the primary partner we work with as we develop our applications? Will AI tools ultimately serve as the ubermeisters of enterprise assemblies of user-created-segments?

What to me is most exciting about all of this is that these are such different and much farther advanced questions than we were asking last year. The more questions we answer. the more possibilities we uncover, and the more new questions arise.

And in the midst of all this, we’re still waiting and watching to see which of the LCNC platform providers rises to pre-eminence. It's inevitable that a few will, as we have seen repeatedly with so many other software categories. And nothing I've seen so far says it will necessarily be any of the usual suspects.

About the Author

Technologist, creator of compelling content, and senior "resultant" Howard M. Cohen has been in the information technology industry for more than four decades. He has held senior executive positions in many of the top channel partner organizations and he currently writes for and about IT and the IT channel.