Why am I into Low Code?

Andy Borthwick
Version 1
Published in
8 min readDec 12, 2023

So a question I often get asked is along those lines — Why should I consider low code?

And I get it — a lot of my network have grown their (very successful) careers on the back of custom software solutions — “high code” if you will.

So I thought I’d write my perspective.

Programming Java Code image by ACWG via Negative Space

Some People Love Code

Some of you — and you know who you are — you just love code. It’s a box of tricks, a magic wand, the cure to all problems — especially if combined with Stack Overflow and now ChatGPT.

And from a consulting standpoint, it’s pretty lucrative — for the company, the developers individually, and all the related industry of practices that surround it.

There’s definitely a sense of professional pride in managing and navigating the myriad of options that are out there. And it’s no mean feat to select and assemble the chosen parts into a cohesive whole.

And yes, those solutions have delivered some big, hairy, audacious goals — often very successfully and in mission critical situations.

But…

We also know that that’s not often the case, for a million reasons and more.

And having also been on the other side of the fence in my career — trying to juggle capacity, budget, and functionality as an IT Manager, Product Owner, and Project Manager — I didn’t love the complexity.

I didn’t love how it took me at least three different skill sets and a project manager constantly working the boundaries to get anything done.

I didn’t love how I couldn’t just hire smart people that fit with my core values, and reasonably expect them to pick up both the business processes and the technical solutions that we relied on.

I didn’t love how the frameworks my solutions were written on became obsolete within a few years (I’m looking at you, Angular…)

I didn’t love how I needed a minimum of 7–8 different components to be configured correctly to host my solutions in the cloud, covering networking, storage, connectivity, and security — before I deploy a line of code.

Put simply — I just wanted solutions. I wanted to create as much value as possible, in the eyes of the business customer.

I didn’t (and still don’t) love code — that’s just the toolset that has been constantly updating. I’ve been messing with it ever since I was writing Basic on a C64, then matching brackets in Scheme in my first year of university, then wrestling with objects and inheritance as Java became mainstream through to graduation.

And in the last 25 years in the industry, it has exploded. I don’t deny that every flavour of code has some kind of utility. But when I can rattle off a dozen different language or framework options, that can all solve the same problem in slightly different ways, the world gets complicated. People specialize, then move on — and then recruitment and market rates are dictating the skills I can hire.

Then, exactly those languages and frameworks become obsolete, or updated. Some get breaking changes for security that needs patched, or simply the developer market moves on and you can’t get the skills at all.

And without really meaning it, different solutions from different suppliers are on different frameworks with different support paths. Nightmare.

What do I need now?

As I moved up through my career, I realised that my needs are simple, but not easy. I would want to be able to run my own solutions, and bring in help to get over significant hurdles, and also run smaller projects for myself.

I want to connect to my core systems securely and create end user applications that simplify the experience to match the process inside the company.

I want the people that use them to be able to navigate simply — like I would on my phone for my own stuff — and not have to create massive user guides and training sessions just to follow a standard business process.

And I want them to be modern, secure, scalable, and resilient as change happens over time.

And, crucially — when technology moves on, I want my platform to move with the times, adopt new standards, and offer me an evolving set of solutions, not getting stuck at the point of purchase.

Now as a consultant — I want all of those things for my customers. And they should expect it.

What does the market need now?

Personally, I believe that everyone needs bespoke solutions now — that the nuances in organisational DNA make the difference in service, market value, and employee satisfaction — and that can’t just be bought off the shelf.

But I also believe that software doesn’t stand still any more, that ideas come thick and fast from all around. So we need to plan for change, and make the ongoing maintainability and extensibility of a solution as much a part of the project as the initial build.

So I believe in maximising the value of the solutions we bring as consultants, for the price they are paying us, and in the long run not just the project window.

At the heart of it, I believe in long-term strategic thinking, and making the hard decision now that will make tomorrow easier.

Enter OutSystems?

So, with all of that, when I was offered the chance to look into OutSystems, did I jump right in?

Well, I was a little sceptical, to say the least. Is this just another framework? Is this limited to some nice demo apps and videos, but breaks when you do something different? Or another form builder masquerading as a complete developer toolset?

But actually no, it’s not. It’s great. This new world of “high-performance low code” seems to meet all my desires as a solution-focused buyer.

It’s a single tech stack.

I don’t think I initially appreciated just how powerful that one statement is. It’s a single tech stack, a single desktop application where I can build data, logic, and screens — then publish and host them.

The 20+ years of code-loving visionaries at OutSystems have invested all of their efforts to grow, scale, raise capital, and expand — based on the same vision as me — that coding business solutions can be easier when done in a visual, and now AI-assisted, way. They exist to make the developer’s job easier, which results in more value, delivered faster, to the end customer.

For example, they literally take care of the tech choices for me. Like switching to React.JS single page apps. Or deploying to progressive web apps and native mobile apps. Or consuming and exposing Rest APIs for interoperability.

And now, they offer a cloud-native, containerised microservice deployment with the latest version, consuming over 70 different AWS components in the process, that I would never have figured out how to use and optimise by myself.

And using the platform itself?

It’s visual — so it’s easy to learn — both how to build and how to explore what others have built.

It takes care of all the non-functional requirements that I care about — secure role-based access, scalable cloud storage, platform support on demand.

It can break it down into modules, share out the workload, and manage dependencies across the team.

It does things I wasn’t even considering at the time — like suggesting a next step based on pattern learning — or deploying the same code to create a native mobile app.

It checks my work — for structure, performance, maintainability, and security — against a library of best practice.

All of that means that all of the developers are laser focused on the business requirements and creating value for the customer, in an accelerated way.

So who is it for?

Now, working on the consulting side of the industry, who do I think should consider low code?

The easy answer is “everyone who needs custom software built.”

The slightly awkward answer is still “everyone who needs custom software built”.

Even if your organisation loves your code, and you have a full devops maturity to launch apps multiple times a day, hosted in a tightly monitored and self-healing environment, and you might even contribute to open-source repositories — I would still argue that everyone wants to do more.

More in the sense of more customer value.

More in the sense of better “bang for the buck”.

More developers building customer solutions, not managing the infrastructure.

More future solutions instead of remedying technical debt.

More progress through the digital transformation backlog — we’ve all got one, and they’re all growing.

Our customers love it — but it’s a tough challenge initially to believe the hype and commit. When I share that our developments go 3x faster, or 1/3 the cost of traditional methods, people are naturally sceptical, as I was.

But having seen OutSystems as the base for mission critical applications, meeting scalability, security, accessibility, and extensibility requirements, then growing out features along a roadmap — I am now a converted evangelist. Those results are real, across multiple organisations, and we’re only getting started.

Are there other solutions?

Well… it depends. Mendix is definitely the closest, in terms of enterprise grade full stack development platforms. But scratch the surface and OutSystems has better scores by analysts and better reviews on the marketplaces from both customers and developers. If I was choosing a low code platform, I’d try them both out. Then I’d choose OutSystems.

What about PowerApps? I’m not sure where to start really — there’s a lot going on under that brand name. For departmental apps instead of a spreadsheet, great — use a canvas app. Extend Dynamics if you have it with a model driven app, sure.

But greenfield, enterprise-grade full-stack? No way. And public facing? Not a chance — the new PowerPages barely scratches the surface of it.

Try having a development team working together on something complex. The first thing you do is connect to GitHub. Low code anyone?

Or try making a reusable components structure just in PowerApps, and then modifying it later. Even try having a Canvas App and a Model Driven App building from the same data — it’s not easy, and the developer experiences are totally different.

Microsoft might get there in the future — they’re certainly capable of it — but right now (at the end of 2023, post-Ignite), it’s a no. Despite the market presence, the product is quite far behind.

Others? It’s messy — from Unqork and Betty Blocks coming and going in the citizen development space, to Appian, Pega, or ServiceNow extending their workflow solutions — there are bits and pieces in over 200 solutions now.

But none come close to “high performance low code” in the way we define it here — full stack, enterprise grade, visual development.

TL;DR?

So I have written elsewhere about how I would go about defining a technology strategy before going to market for solutions or services. And I’ve written about why Enterprise Architects should consider low code.

Those were much more analytical articles, trying to offer perspective to guide and steer.

But this is my answer in a more personal fashion — why am I into Low Code? Well — I’m into OutSystems — and it’s the best low code platform out there. Try it. You’ll be amazed how far it’s come.

About the Author:
Andy Borthwick is a Solutions Architect in the Advisory Services Practice at Version 1.

--

--

Andy Borthwick
Version 1

OutSystems Lead at Bridgeall, Solution Architect, Enterprise Systems specialist, and IT Manager in the past.