• @thefloweracidic
    link
    7
    edit-2
    1 year ago

    Mini Rant:

    When you think about it software development is a relatively young profession compared to medicine, law, construction, public services, the arts, and so on. This is why modern tech kind of sucks despite being so cool, I say we are in the “Hey maybe we shouldn’t build our huts right on the river” phase of writing code, still figuring out problems that will appear mind numbingly simple in the future.

    Another issue is the fact that tech builds on itself and its flaws can be painted over with abstractions, while the aforementioned professions can’t get away with being subpar for too long. So the full metaphor really is after the river floods we build on top of the ruins and claim victory because we are slightly more elevated and will take less damage during the next flood.

    The secret to better tech is rebuilding everything from scratch. The internet wasn’t designed with security and bad actors in mind. Plenty of corporations are running a Frankenstein system that contains code older than most millennials, botched modernization efforts, buzzword laden over-engineered applications, and bugs that aren’t features just permanent residents in your code base.

    …But there is profiteering to contend with, good code takes time, time is money, good code is expensive. “Good enough” code is easy to write, so its better for the bottom line.

    In the end it really is…

    Developer: “Hey the river flooded and our huts were demolished, we should move to higher ground and build there”

    Corporate Leadership: “No that is too expensive, just build on the ruins and next flood we should be safer, oh also you’re laid off”

    I know you didn’t ask for this, but its been on my mind for a while and I felt like this was a good time to get this out of my head haha

    • @cmhe
      link
      2
      edit-2
      1 year ago

      The secret to better tech is rebuilding everything from scratch. The internet wasn’t designed with security and bad actors in mind. Plenty of corporations are running a Frankenstein system that contains code older than most millennials, botched modernization efforts, buzzword laden over-engineered applications, and bugs that aren’t features just permanent residents in your code base.

      Rebuilding everything from scratch will take ages and cost everyone a lot of money, because you have to replace all your hardware (router boxes, PC s, phones, smart watches, …), because the internet protocols are often designed into the hardware itself, and changing them fundamentally means a lot of trash. Also there is no system that guarantees that the result will have fewer issues or will not required to be succeeded by something else a couple of minutes later, because some new issue was discovered.

      Also software is highly complex and need to adapt to many different scenarios, while maintaining compatibility to each other, which the other disciplines of human engineering don’t have to deal with as much, they are much more purpose driven.

      It is like trying to create a universal building code (for building houses) that simultaneously works on every country on earth, hell, maybe even on multiple planets, with wildly different and constantly changing environments and is guaranteed to result in save houses. Not really possible in one shot, only possible by constantly trying to adapt. That is what software has to deal with. I am talking about fundamental software like the Linux kernel here, for example.

      You cannot just start over and be better.