This Computer Weekly Developer Network series is devoted to examining the leading trends that go towards defining the shape of modern software application development.
As we have initially discussed here, with so many new platform-level changes now playing out across the technology landscape, how should we think about the cloud-native, open-compliant, mobile-first, Agile-enriched, AI-fuelled, bot-filled world of coding and how do these forces now come together to create the new world of modern programming?
This contribution comes from Dominic Wellington, director of market intelligence at MongoDB — the company is known for its open source cross-platform enterprise database technology and wider platform toolset.
Wellington writes as follows…
Software is changing our lives in unexpected ways. Take Zoom for example. Zoom set its sights on building a corporate communications tool. It didn’t aim to become a platform for people to enjoy ‘quarantinis’ (not an official term, but useful nonetheless) together.
As William Gibson once wrote, “The street finds its own uses for things.”
In the same way, the creation of software has taken its own surprising turn. Software creation is now (increasingly) in the hands of the people – those who do not have a background in programming. The citizen developer is amongst us.
Let’s take a concrete example. So you’re not a programmer, you don’t have an engineering background, but you need to do some work with data. You need to compare the profitability of different product lines. Unfortunately, the data you need is stuck in various systems. In the past, you would have needed a developer with expertise in each of those systems to build you something — and if you couldn’t get them to do the work, you’d have been stuck.
Today, software is much more flexible. It allows users to work with data without the need for deep technical knowledge.
Denizens & domain experts
At the simplest level, most office (or Office) denizens are familiar with spreadsheets. These days, Google Sheets is able to query databases directly. Those complicated pivot tables can now work on live operational data, eliminating lag and imprecision. Not to mention a whole lot of copying & pasting and the attendant errors.
Beyond that, workflow tools offer graphical interfaces that allow domain experts to extract data from one system, transform it, and load it somewhere else. This is known as ETL (Extract, Transform & Load) – just without the programming. Low-code and no-code platforms empower users to model complicated business logic without having to write either code or complicated specifications.
Caveat emptor, dear citizens
However helpful, there are potential downsides to this transformation.
Business experts might not know the best practices that are second nature to programming professionals. They might not think of versioning and access control until it is too late. If you model a complex business process using a spreadsheet and the process changes, how do you track the corresponding changes to the model?
As the power of software becomes more accessible, we must connect with these new participants and give them the benefit of our encounters. We must take into account their valuable experience and recognise that they are working to achieve their goals with the tools they have to hand.
Modern software development is more accessible to more and more people, with varying degrees of specialised knowledge. Let’s continue to empower these citizen developers (but also put the support in place to manage what is created) and in doing so work to make it easy for everyone to work with data.