• BombOmOm@lemmy.world
    link
    fedilink
    English
    arrow-up
    200
    arrow-down
    2
    ·
    1 year ago

    The difficult part of software development has always been the continuing support. Did the chatbot setup a versioning system, a build system, a backup system, a ticketing system, unit tests, and help docs for users. Did it get a conflicting request from two different customers and intelligently resolve them? Was it given a vague problem description that it then had to get on a call with the customer to figure out and hunt down what the customer actually wanted before devising/implementing a solution?

    This is the expensive part of software development. Hiring an outsourced, low-tier programmer for almost nothing has always been possible, the low-tier programmer being slightly cheaper doesn’t change the game in any meaningful way.

    • Knusper@feddit.de
      link
      fedilink
      English
      arrow-up
      12
      ·
      1 year ago

      Yeah, I’m already quite content, if I know upfront that our customer’s goal does not violate the laws of physics.

      Obviously, there’s also devs who code more run-of-the-mill stuff, like yet another business webpage, but those are still coded anew (and not just copy-pasted), because customers have different and complex requirements. So, even those are still quite a bit more complex than designing just any Gomoku game.

      • NoRodent@lemmy.world
        link
        fedilink
        English
        arrow-up
        8
        ·
        1 year ago

        I’m already quite content, if I know upfront that our customer’s goal does not violate the laws of physics.

        Haha, this is so true and I don’t even work in IT. For me there’s bonus points if the customer’s initial idea is solvable within Euclidean geometry.

        • Knusper@feddit.de
          link
          fedilink
          English
          arrow-up
          3
          ·
          1 year ago

          Well, as per above, these are extremely complex requirements, so most don’t make for a good story.

          One of the simpler examples is that a customer wanted a solution for connecting special hardware devices across the globe, which are normally only connected directly.

          Then, when we talked to experts for those devices, we learnt that for security reasons, these devices expect requests to complete within a certain timeframe. No one could tell us what these timeframes usually are, but it certainly sounded like the universe’s speed limit, a.k.a. the speed of light, could get in our way (takes roughly 66 ms to go halfway around the globe).

          Eventually, we learned that the customer was actually aware of this problem and was fine with a solution, even if it only worked across short distances. But yeah, we didn’t know that upfront…

      • Vlyn@lemmy.zip
        link
        fedilink
        English
        arrow-up
        10
        ·
        1 year ago

        If you just let it do a full rewrite again and again, what protects against breaking changes in the API? Software doesn’t exist in a vacuum, there might be other businesses or people using a certain API and relying on it. A breaking change could be as simple as the same endpoint now being named slightly differently.

        So if you now start to mark every API method as “please no breaking changes for this” at what point do you need a full software developer again to take care of the AI?

        I’ve also never seen AI modify an existing code base, it’s always new code getting spit out (80% correct or so, it likes to hallucinate functions that don’t even exist). Sure, for run of the mill templates you can use it, but even a developer who told me on here they rely heavily on ChatGPT said they need to verify all the code it spits out, because sometimes it’s garbage.

        In the end it’s a damn language model that uses probability on what the next word should be. It’s fantastic for what it does, but it has no consistent internal logic and the way it works it never will.

          • Vlyn@lemmy.zip
            link
            fedilink
            English
            arrow-up
            8
            ·
            1 year ago

            Mate, I’ve used ChatGPT before, it straight up hallucinates functions if you want anything more complex than a basic template or a simple program. And as things are in programming, if even one tiny detail is wrong, things straight up don’t work. Also have fun putting ChatGPT answers into a real program you might have to compile, are you going to copy code into hundreds of files?

            My example was public APIs, you might have an endpoint /v2/device that was generated the first time around. Now external customers/businesses built their software to access this endpoint. Next run around the AI generates /v2/appliance instead, everything breaks (while the software itself and unit tests still seem to work for the AI, it just changed a name).

            If you don’t want that change you now have to tell the AI what to name things (or what to keep consistent), who is going to do that? The CEO? The intern? Who writes the perfect specification?

    • doublejay1999@lemmy.world
      link
      fedilink
      English
      arrow-up
      4
      ·
      1 year ago

      Which is why plenty of companies merely pay lip service to it, or don’t do it at all and outsource it to ‘communities’

    • akrot@lemmy.world
      link
      fedilink
      English
      arrow-up
      6
      arrow-down
      2
      ·
      1 year ago

      Absolutely true, but many direction into implementing those solution with AIs.