published on: Tuesday, January 7, 2025
Over the years, a few start-ups have made the following pitch:
“You know how you have to pay a lot of money to your software developers, and how they act like prima-donnas whenever you ask for new features and refuse to commit to strict timelines?
Wouldn’t it be great if your product managers/analysts/etc could build the stuff customers want themselves? or at least cut your # number of programmers in half?
Well, now you can! just use our low-code, no-code tool to build your business application, and you can fire 50% of your engineers. The rest will then fall in line, and you can crack the whip. Thus, continuing the eternal tradition of devaluing all labor so you can make more profits!”
(To be very specific, I’m talking about using low-code, no-code products to build software applications (mainly SaaS) - software that gets sold to paying customers. This post is not really about tools like Wix or Wordpress that let end-users build websites or small, toy applications)
I’ve yet to see a single example of a software business that built something successful, of sufficient scale, using these low-code, no-code tools.
Here, I define “successful” as “something that at least 10-15 customers are paying for, which has been in production for over 3-6 years”
and I define “scale” as “used by at least a 1000 people or more regularly”
These are pretty tiny numbers but I think you would be hard-pressed to find software businesses built which can be cited as examples, even for such a loose, liberal definition.
[Side note: I’m curious to learn if there really are businesses I’ve not heard about which have done interesting things with low-code, no-code solutions. I’ll happily edit the post with examples of such companies if I find any]
What i’ve witnessed first hand when such “productivity” tools are introduced - (often in a department at a company which struggles to get engineering resources) is a phenomenon that looks like the following:
After step 5, everything goes downhill until management finally allocates engineers to the “re-write”, “migration”, “2.0” (or whatever label they come up with) project, and the tool is scrapped completely once the dev team re-implements the functionality in a real programming language.
The above rant may seem like that of an irate software engineer who bristles at the thought of using low-code/no-code tools because he considers what he does as “real programming” - but that’s not at all my opinion/position on these tools.
To be honest, I kind of like these low-code, no-code solutions - especially during brainstorming/prototyping phases. Building workflows out of these components can end up showing areas where product spec is under-specified. In fact, it can be extremely useful to build pieces of functionality using these tools!
But that’s not how a lot of people (especially in management) view them. The companies that make these tools also pitch them (to clueless executives) as “software engineering department replacement”s.
Very soon, people learn that the hard part in building software is not actually writing the code - but thinking very hard about the problem you’re solving, and solving it in a sane way.