CWDN series: Dev-eXperience – Pegasystems: I develop, therefore I am

This is a guest post for the Computer Weekly Developer Network written by Peter van der Putten in his position as director of the AI Lab at Pegasystems, a provider of a low-code platform for AI-powered decisioning and workflow automation.

From this point forwards, van der Putten writes as follows…

How can we provide a better developer experience (DX)?

With so many automation accelerators now being brought to bear, should we be looking to exert the benefits of AI assistants and low code platforms as a prime enabler for better developer experience? On paper, it feels like we should, but any quick fixes at this level are unlikely to be plug-and-play simple – even if they are plug-and-play drag-and-drop in terms of the way they are used.

Developer ergo sum

Let’s unpack this a bit… and before even talking experience or AI, let’s focus on a more fundamental or even existential question: who or even what is a developer? Traditionally, application development was purely the domain of software engineers and programmers, but after decades of false starts – 4GLs? CASE tools anyone? Low-code platforms are catching on and new roles such as those describing ‘citizen developers’ are emerging.

Add in developments in generative AI and a naive thought may come up: why do we need all these software engineers, right? We’ll just give some AI coding assistants such as GitHub Copilot to the citizen developers and we’re off the races. Well, that will lead to lots of shadow IT at best, but more likely to a Cambrian explosion in technical debt and severe crises in governance and control.

I would like to propose a better way… AI-driven low code development.

The point is of course that coding assistants generate – surprise, surprise – computer code and we all fear a future of bloated codebases generated by non-programmers. Coding assistants may be very useful to a programmer, but not to a citizen developer who can’t read code. Citizen developers need AI assistants that generate low-code artefacts that they can understand, such as process flows, business rules or data models.

Also, as business problem owners, citizen developers tend to worry not as much about non-functional requirements and architectural principles, such as scalability, performance, security, minimisation of technical debt and maximising reuse. This is where traditional developers can help, even in a low code context, especially if they see themselves more as good software engineers and architects, and define their value not just as being able to produce traditional code.

At the end of the day, business demand for new applications is insatiable and there will always be a need for proper architecture, so traditional developers don’t have much to worry about. In a low code context it just means they can focus more on strategic enterprise architecture and citizen developers can focus on business change and roll out.

 

Back to AI & Dev-EX

So let’s get back to the question of how AI can serve the developer experience, for both engineers and citizen developers.

Pega’s van der Putten.

Software engineers want to have ease of use, but the fun is also in finding elegant technical solutions and designing clean architectures. They may use AI assistants for generating micro-level boilerplate code such as unit tests and APIs, but also for getting creative input on how to solve intellectually challenging technical problems.

Citizen developers on the other hand are more focussed on finding a solution to their business problem, so mostly want macro-level ideation assistance around business requirements and design of model-driven apps, and generate realistic test data to better envision and simulate the end user experience.

Whilst low code is becoming more mainstream, we have only just scratched the surface for AI-supported development across the full lifecycle from design to maintenance, refactoring and migration, especially if you take into account traditional code as well as low code.

Which is good, as our jobs shouldn’t become just easier, they should also become more interesting.