• dan@upvote.au
    link
    fedilink
    arrow-up
    27
    ·
    edit-2
    17 hours ago

    Not sure if this counts, but as a software engineer, pretty much all major software you use is hacks on top of hacks on top of something someone built as a ‘temporary’ solution or as a proof-of-concept that’s still in use years later. It’s amazing that anything works properly at all. Stable software is basically just software with 10+ years of bug fixes layered on top of it.

    Part of the reason that Windows backwards compatibility is so good (plenty of Windows 95/98 apps still work fine on Windows 11!) is because Windows automatically applies compatibility fixes, including simulating bugs that were in older versions of Windows, because old apps could be relying on those bugs.

    My wife gets very frustrated when she encounters bugs, whereas I’m usually like “well, it’s not nearly as bad as it could be” lol

    • CmdrShepard49@sh.itjust.works
      link
      fedilink
      arrow-up
      4
      ·
      6 hours ago

      Outside of software, I can say that most major companies operate like this too. In advertising, companies like to project that they’re all polished and sophisticated, but behind closed doors, everything is held together with duct tape and prayers.

      • Carl@anarchist.nexus
        link
        fedilink
        English
        arrow-up
        2
        ·
        41 minutes ago

        Most organizations in general. There’s a quote from a career congressperson somewhere, that basically paraphrases as “when I first got into office, I tried to find the big movers. The people who really knew what they were doing. I wanted to find them so I could learn from them. And all I learned is that nobody knows what they’re doing. We’re all making it up as we go.”

    • eldavi@lemmy.ml
      link
      fedilink
      English
      arrow-up
      3
      ·
      7 hours ago

      all major software you use is hacks on top of hacks on top of something someone built as a ‘temporary’ solution or as a proof-of-concept that’s still in use years later.

      i had a thought along a similar veing yesterday because i realized that the code base i’m responsible for now was originally built as a proof of concept that never got it’s bugs ironed out and a temporary solution i implemented bit me in the ass.

      • dan@upvote.au
        link
        fedilink
        arrow-up
        5
        ·
        edit-2
        13 hours ago

        Accurate. At work I’m finally getting around to paying down tech debt from a temporary hack that was supposed to only be in the code for a month or so, but now it’s been in our production code for around five years.

        It would have been maybe a week or so to do it the right way initially, but we had hard deadlines and were pressed for time and just couldn’t get around to doing it. Now it’s over a month of work for one senior engineer (me) to clean up, because there’s so many interdependencies between the hacky code and other parts of the system that depend on side effects of the hacky code, or the order of updates performed in the hacky code. What a mess.

        At least AI can help a bit. Even the newest models aren’t so great at system architecture in brownfield projects though (projects building into existing systems).