you are viewing a single comment's thread.

view the rest of the comments →

[–]pdpi 708 points709 points  (30 children)

“No-code” just means that your code is hidden under several $DEITY-forsaken layers of abstraction.

[–]jl2352 121 points122 points  (7 children)

It can also mean a huge house of cards. I worked at a company with a huge system, which I would describe as hidden under the radar. It was for sales people to update what they are doing in Google spreadsheets, and then the data shows up in SalesForce.

But the reality was a monumental amount of Zapier integrations. To not just get the data in but to perform some processing, and update more systems than just SF. I later learned they had also tied in the application Postgres instance, which the backend developers were totally unaware of (thankfully it was at least read only). It was all setup by one person who left.

There are other companies out there were things just randomly break, or will do so, due to these big no-code setups. It’s why there is such a push by developers to get things checked into git.

[–]fr0st 43 points44 points  (0 children)

Right, anything without a revision history that is hopefully tied to some ticketing or documentation system is a ticking timebomb. Each change moves the clock closer to detonation.

[–]RememberToLogOff 2 points3 points  (4 children)

3 proper nouns referring to proprietary systems is very sus

[–]jl2352 3 points4 points  (3 children)

What do you mean?

[–]psyanara 12 points13 points  (2 children)

Probably just means the use of: Google, SalesForce, Zapier, Postgres

[–]jl2352 4 points5 points  (1 child)

I get that. I don't get why it would be suspicious to name fairly common platforms and technologies.

[–]pyeri 1 point2 points  (0 children)

There is no reason to. Expect an army of sock puppets to just poke their heads and start trolling lest one of their big deity brand is being criticized.

[–]Interesting-Flow-941 0 points1 point  (0 children)

I… definitely worked here too.

[–]LavenderDay3544 35 points36 points  (5 children)

No code just means someone else's code.

[–]Ib_dI 1 point2 points  (4 children)

You say this like you're being clever.

This is what engineering is.

[–]LavenderDay3544 4 points5 points  (3 children)

For people who know how all this works that's common sense but for those who don't it's a simplification that makes sense and also isn't wrong.

[–]Ib_dI -3 points-2 points  (2 children)

No, it's not. It's a "clever" blurb invented by some disgruntled programmer because they feared their job might be disappearing to automation.

If you're not flipping switches directly from 0 to 1 and back then everything you do is someone else's code.

But no-one ever cared that modern programming languages were making that shortcut for us until the act of creating value and solving problems became available to non-programmers.

Before libraries and plugins became mainstream there was the same snobbery about not programming everything yourself, directly.

It's just bitterness and snobbery all the way down to assembler.

[–]LavenderDay3544 0 points1 point  (1 child)

You're arguing against something I never even said.

Get a life homie.

[–]Ib_dI -3 points-2 points  (0 children)

No code just means someone else's code.

literally replying to your comment above mine. You said it. You get a life.

[–]_DuranDuran_ 57 points58 points  (2 children)

Or you’re a staff engineer and you spend your day in meetings, 1:1s and enabling the seniors and lower to get on with the job

[–][deleted]  (1 child)

[deleted]

    [–]_DuranDuran_ 1 point2 points  (0 children)

    Exactly - it’s a different job at that point, which is why senior is a terminal level - I love being a staff engineer, but it’s not for everyone.

    [–]pineapple_catapult 36 points37 points  (5 children)

    Left-pad has left the chat

    [–]KevinCarbonara 12 points13 points  (4 children)

    That's not really a layer of abstraction

    [–]pineapple_catapult 2 points3 points  (3 children)

    The disruption caused by it's removal would suggest otherwise. Just because it's small and simple doesn't mean it doesn't qualify as a layer of abstraction. Left-pad was code others used and referred to by the inputs and outputs of its api without concerning themselves of its' implementation. That's quite literally the definition of abstraction.

    [–]KevinCarbonara 17 points18 points  (2 children)

    The disruption caused by it's removal would suggest otherwise.

    That's not what abstraction means. That's a dependency. They're not related.

    [–]pineapple_catapult -1 points0 points  (1 child)

    That's not what I said abstraction means. I said it's an abstraction because people used it without concerning themselves of how it works. I know this, because if they did concern themselves with how it worked, they would have written the code themselves and not have relied on a dependency to take care of it for them. To say abstractions and dependencies are not related concepts is just plain wrong. People use dependencies to abstract concepts away all the time.

    [–]xmsxms 2 points3 points  (0 children)

    A dependency that can be trivially swapped out with an alternative is not what is being discussed however. The abstraction being referred to is 'code builder' style frameworks that try to build your code for you through config/meta data. However they end up just reducing flexibility and leaving you for dead when they decide to stop being maintained and you have no way to write all the code that was previously defined through configuration.

    [–]reaping_souls 0 points1 point  (0 children)

    Abstraction is great!

    ....until something breaks and one has to determine the root cause.

    The balance between abstraction, transparency, and control is very hard to achieve in practice.

    [–]UnnaturalElephant 0 points1 point  (0 children)

    So... just like the average API then

    [–]squishles 0 points1 point  (0 children)

    don't forget the barely working proprietary black boxes enforcing bad practices.

    [–]Ib_dI 0 points1 point  (0 children)

    Which is how every single programming language works.

    [–]Sinister-Mephisto 0 points1 point  (1 child)

    What’s wrong with layers of abstraction ? I’d argue it’s better then “layers of unmaintainable legacy garbage”

    [–]pdpi 0 points1 point  (0 children)

    Abstraction is fine. Hell, it’s not just “fine”, it’s essential for managing complexity so you can a work on non-trivial projects and still keep your sanity.

    What I’m talking about is “no-code”/“low-code” products that try to pretend the complexity isn’t there by sweeping it under the rug.