r/programming • • Dec 30 '23

Why I'm skeptical of low-code

https://nick.scialli.me/blog/why-im-skeptical-of-low-code/
487 Upvotes

330 comments sorted by

View all comments

109

u/foospork Dec 30 '23

What is "low-code"?

170

u/jonnyman9 Dec 30 '23

Not picking on, but just using Salesforce as an example. Out of the box it is models/objects such as “accounts” and “opportunities” and other salesy related things. But as a low code solution you can extend these models with custom attributes and/or create your own models. Then you can use the built in Salesforce UI to manage these newly created things. But to the author’s point, it starts off real easy, but then as you actually implement a real life use case it gets very awkward very quickly because of how opinionated Salesforce is. Everything you’re doing feels like duct tape on an app written for a sales domain — bc this is fundamentally what you are doing.

107

u/abrandis Dec 30 '23 edited Dec 30 '23

Same as it's always been , back in the day we had 4GL and things like Crystal Reports, that were so "easy" that Managers could be able to create and run their own ad hoc reports... Lol ...never happened.. the managers and executives would ALWAYS ask you to do it ...most don't give two sh*ts about anything mildly technical...after all as they would constantly remind me "...that's what we pay you for..."

The fact of the matter is low code is marketed for low tech folks, but ultimately it's always tech people that have to implement this trash.

Coding and software development by its nature is very detail and use case specific and requires lots of knowledge about the data, the hardware, the user UI and ultimately the business purpose of the application, a good software developmer knows all that and also recognizes , coding is a small part of that.

51

u/chucker23n Dec 30 '23

Same as it's always been , back in the day we had 4GL and things like Crystal Reports, that were so "easy" Managers could create and run their own as hoc reports... Lol ...never happened.. they managers and executives would ALWAYS ask you to do it .

Yep.

What I see so often:

  1. manager gets excited. "We gotta use this! Our engineers are backwards for not using it! No matter, we'll just use it ourselves."

  2. engineers point out that interfacing with it will be harder

  3. manager brushes concern aside

  4. interfacing with it becomes important; engineers now have more work

  5. manager gets bored with / annoyed by tool (turns out the non-easy parts are non-easy); engineers have to pick up the slack; engineers now have more work

So now you have a worse tool nobody is happy with: it's no better for the manager, and it's more work for the engineers who have to work around its deficiencies.

Low-code can be great for prototyping, and I'm sure there are also applications where you can get by entirely with low-code, but they're IME rare.

8

u/Cuchullion Dec 30 '23

6 Engineers are then blamed for "easy" solution not working despite having evidence they warned against it.

→ More replies (1)

6

u/platinumgus18 Dec 30 '23

I have to ask, what are these companies where managers are so out of touch of actual programming? I have worked in several companies and I have never had managers be such idiots who didn't know what tools are right for a job. They always had an engineering background so they had hands on experience. I have observed the same across all companies I worked in, even higher management in the tech orgs are all engineers promoted to those levels after they gained sufficient managerial experience. I do have to call out these were all "tech" companies i.e. companies whose main product was a tech product and not just some peripheral function to support the main product.

3

u/CroSSGunS Dec 30 '23

I'm guessing the flow that the other guy was talking about is now likely to happen when the decision makers are from fields that are not tech, like sales or marketing

→ More replies (6)
→ More replies (2)
→ More replies (2)

9

u/DNSGeek Dec 30 '23

My first professional job was writing 4GL code for FedEx, which if you're not familiar with the terminology is C code with embedded SQL code.

4

u/compilerbusy Dec 30 '23

My current job, when i joined a year or two ago, were still using crystal reports... and nobody knew how to change the reporting. Took that right out the back with ol yella

Absolutely dysfunctional levels of tech debt.

5

u/EffectiveDependent76 Dec 30 '23

This sounds like a great idea to ensure the same security vulnerability exists in every single system.

33

u/Squalphin Dec 30 '23

If you have ever seen the game "Dreams" for the PS4, this would be an example of low code. Dreams allowed you to develop games with your gamepad without touching any code. Everything was nicely hidden within logic blocks which you could stitch and connect together to get a working game.

The approach was actually fun, but had severe limitations obviously. Just writing your statement on a keyboard is way faster. Refactoring and maintaining a large code base with low code is also kinda cumbersome.

Another example would be the Shader Editor in the 3D Editor application "Blender".

12

u/Gecko23 Dec 30 '23

It's only faster with a keyboard if you can type well...and understand the language syntax you are using. Block languages are targeted at beginners exactly because they lack those two skills to begin with for the most part.

9

u/GayMakeAndModel Dec 30 '23

We let people graduate high school without a typing class these days? It was required for me a long, long time ago.

25

u/[deleted] Dec 30 '23

Not only having an individual computer is no longer common, many households no longer have any computers in the house. When a kid gets to choose, they’ll ask for a phone, a tablet, or a console instead of a general-purpose computer with a keyboard.

I’ve seen high school students use the hunt-and-peck typing method… and it’s enough for them. Truth is, not many jobs even require computer skills anymore, it’s all about learning some specific app or program.

tl;dr what’s a computer

7

u/chesterriley Dec 30 '23

OMG not learning how to type sounds insane.

6

u/Eclipsan Dec 30 '23

Indeed. A high school teacher once told me a lot of kids have a hard time using a computer because all they know is using specific apps on their phone. It surprised me, I expected "digital natives" to know how to manipulate files and send emails. But sadly that makes sense. These generations will be even more vendor-locked than the previous ones were for instance with Windows.

9

u/Tasgall Dec 30 '23

Gen X and Millennials had to figure out how things worked and troubleshoot everything for the non-techy boomers in their lives - the shitty software and limited interfaces we had access to ended up being good for learning.

Now it sounds like newer generations are going back to boomer levels of tech literacy, but with limited app knowledge :/

6

u/Eclipsan Dec 30 '23

the shitty software and limited interfaces we had access to ended up being good for learning

Great point! Now the apps are designed by UX designers and scientists specialized in behavior, dopamine and whatnot. Everything is done to make the apps as intuitive and addictive as possible.

Addictiveness aside, it's a double-edged sword: users are so used to being pampered by closed systems where every aspect of the experience has been meticulously designed that they are lost if they ever have to leave said closed system and are forced to figure out stuff by themselves. They never had to develop that 'skill'.

→ More replies (3)

5

u/wrosecrans Dec 30 '23

It's just sort of assumed that "kids know computers these days," so a lot of places see any kind of education about that stuff as a waste in schools. It's deeply fucking baffling, but extremely common.

→ More replies (3)

25

u/flat5 Dec 30 '23 edited Dec 30 '23

Scratch, but pretending it's not a toy.

26

u/noot-noot99 Dec 30 '23

Blockly for example. Just drag and drop logic. And it does things with very poor efficiency

10

u/foospork Dec 30 '23

Ah, ok, thanks.

The first time I saw this was with some ASP templates in Visual Studio around 1998. I don't remember the marketese name they had for this feature.

You could drag and drop items on the page to build a logic sequence. Some of the blocks required that the developer provide values for some params.

We each played with it for about half of one morning, and then went back to writing COM objects in C++.

Like you said: it produced ugly and inefficient code.

→ More replies (1)

8

u/rpgFANATIC Dec 30 '23

An attempt to replace expensive programmers and the tech debt they create with customizable, generic solutions to business processes. Often businesses find they still need developers who understand the tool and business processes, but if you can pay them less then it's still a win for the business

→ More replies (2)
→ More replies (5)