• TrickDacy@lemmy.world
    link
    fedilink
    English
    arrow-up
    4
    arrow-down
    5
    ·
    2 months ago

    I would argue that it’s obvious if someone doesn’t know how to use a tool to do their job, they aren’t great at their job to begin with.

    Your argument is to blame the tool and excuse the person who is awful with the tool.

    • GreenKnight23@lemmy.world
      link
      fedilink
      English
      arrow-up
      5
      arrow-down
      3
      ·
      2 months ago

      my argument is that lazy devs use the tool because that’s what it was designed for.

      just calling a hammer a hammer.

      • aesthelete@lemmy.world
        link
        fedilink
        English
        arrow-up
        4
        arrow-down
        3
        ·
        2 months ago

        Some tools deserve blame. In the case of this, you’re supposed to use it to automate away certain things but that automation isn’t really reliable. If it has to be babysat to the extent that I certainly would argue that it does, then it deserves some blame for being a crappy tool.

        If, for instance, getter and setter generating or refactor tools in IDEs routinely screwed up in the same ways, people would say that the tools were broken and that people shouldn’t use them. I don’t get how this is different just because of “AI”.

        • TrickDacy@lemmy.world
          link
          fedilink
          English
          arrow-up
          2
          arrow-down
          5
          ·
          2 months ago

          Okay, so if the tool seems counterproductive for you, it’s very assuming to generalize that and assume it’s the same for everyone else too. I definitely do not have that experience.

          • aesthelete@lemmy.world
            link
            fedilink
            English
            arrow-up
            3
            arrow-down
            2
            ·
            edit-2
            2 months ago

            It’s not about it being counterproductive. It’s about correctness. If a tool produces a million lines of pure compilable gibberish unrelated to what you’re trying to do, from a pure lines of code perspective, that’d be a productive tool. But software development is more complicated than writing the most lines.

            Now, I’m not saying that AI tools produce pure compilable gibberish, but they don’t reliably produce correct code either. So, they fall somewhere in the middle, and similarly to “driver assistance” technologies that half automate things but require constant supervision, it’s quite possible that the middle is the worst area for a tool to fall into.

            Everywhere around AI tools there are asterisks about it not always producing correct results. The developer using the tool is ultimately responsible for the output of their own commits, but the tool itself shares in the blame because of its unreliable nature.

      • TrickDacy@lemmy.world
        link
        fedilink
        English
        arrow-up
        3
        arrow-down
        3
        ·
        2 months ago

        Using a tool to speed up your work is not lazy. Using a tool stupidly is stupid. Anyone who thinks these tools are meant to replace humans using logic is misunderstanding them entirely.

        You remind me of some of my coworkers who would rather do the same mind numbing task for hours every day rather than write a script that handles it. I judge them for thinking working smarter is “lazy” and I think it’s a fair judgement. I see them as the lazy ones. They’d rather not think more deeply about the scripting aspect because it’s hard. They rather zone out and mindlessly click, copy/paste, etc. I’d rather analyze and break down the problem so I can solve it once and then move onto something more interesting to solve.

        • aesthelete@lemmy.world
          link
          fedilink
          English
          arrow-up
          2
          arrow-down
          1
          ·
          2 months ago

          They rather zone out and mindlessly click, copy/paste, etc. I’d rather analyze and break down the problem so I can solve it once and then move onto something more interesting to solve.

          From what I’ve seen of AI code in my time using it, it often is an advanced form of copying and pasting. It frequently takes problems that could be better solved more efficiently with fewer lines of code or by generalizing the problem and does the (IMO evil) work of making the solution that used to require the most drudgery easy.

            • aesthelete@lemmy.world
              link
              fedilink
              English
              arrow-up
              2
              arrow-down
              1
              ·
              2 months ago

              Why are you typing so much in the first place?

              Software development for me is not a term paper. I once encountered a piece of software in industry that was maintaining what would be a database in any sane piece of software using a hashmap and thousands of lines of code.

              AI makes software like this easier to write without your eyes glazing over, but it’s been my career mission to stop people from writing this type of software in the first place.

        • GreenKnight23@lemmy.world
          link
          fedilink
          English
          arrow-up
          3
          arrow-down
          2
          ·
          2 months ago

          sometimes working smarter is actually putting the work in so you don’t have to waste time and stress about if it’s going to work or not.

          I get Dreamweaver vibes from AI generated code. Sure, the website works. looks exactly the way it should. works exactly how it should. that HTML source though… fucking aweful.

          I can agree, AI is an augment to the tools you can use. however, it’s being marketed as a replacement and a large variety of devs are using it as such.

          shitty devs are enabled by shitty tools.

          • TrickDacy@lemmy.world
            link
            fedilink
            English
            arrow-up
            2
            arrow-down
            2
            ·
            2 months ago

            shitty devs are enabled by shitty tools.

            No, shitty devs are enabled by piss-poor hiring practices. I’m currently working with two devs that submit mind bogglingly bad PRs all of the time, and it’s 100% because we hired them in a hasty manner and overlooking issues they displayed during interviews.

            Neither of these bad devs use AI to my knowledge. On the other hand I use copilot constantly and the only difference I see in my work is that it takes me less time to complete a given task. It shaves 1-2 minutes off of writing a block/function several times an hour, and that is a good thing.

            • GreenKnight23@lemmy.world
              link
              fedilink
              English
              arrow-up
              2
              arrow-down
              2
              ·
              2 months ago

              so your argument is because shitty devs exist that AI can’t be a shitty tool.

              Shitty tools exist. shitty devs exist. allowing AI code generation only serves as an excuse for shitty devs when they’re allowed to use it. “oh sorry, the AI did that.” “man that didn’t work? musta been that new algorithm github updated yesterday.”

              shitty workers use shitty tools because they don’t care about the quality and consistency of the product they build.

              ever seen a legitimate carpenter use one of these things to build a house?

              Screenshot_20241004-120218_Firefox

              yeah, you won’t because anything built with that will never pass inspection. shitty tools are used by shitty devs.

              could AI code generation get better? absolutely! is it possible to use it today? sure. should you use it? absolutely not.

              as software developers we have the power to build and do whatever we want. we have amazing powers that allow us to do that, but rarely do we ever stop to ask if we should do it.

          • aesthelete@lemmy.world
            link
            fedilink
            English
            arrow-up
            2
            ·
            edit-2
            2 months ago

            I get Dreamweaver vibes from AI generated code.

            Same. AI seems like yet another attempt at RAD just like MS Access, Visual Basic, Dreamweaver, and even to some extent Salesforce, or ServiceNow. There are so many technologies that champion this…RoR, Django, Spring Boot…the list is basically forever.

            To an extent, it’s more general purpose than those because it can be used with multiple languages or toolkits, but I find it not at all surprising that the first usage of gen AI in my company was to push out “POCs” (the vast majority of which never amounted to anything).

            The same gravity applies to this tool as everything else in software…which is that prototyping is easy…integration is hard (unless the organization is well structured, which, well, almost none of them are), and software executives tend to confuse a POC with production code and want to push it out immediately, only to find out that it’s a Potemkin village underneath as they sometimes (or even often) were told the entire time.

            So much of the software industry is “JUST GET THIS DONE FASTER DAMMIT!” from middle managers who still seem (despite decades of screaming this) to have developed no widespread means of determining either what they want to get done, or what it would take to get it done faster.

            What we have been dealing with the entire time is people that hate to be dependent upon coders or other “nerds”, but need them in order to create products to accomplish their business objectives.

            Middle managers still think creating software is algorithmic nerd shit that could be automated…solving the same problems over and over again. It’s largely been my experience that despite even Computer Science programs giving it that image, that the reality is modern coding is more akin to being a millwright. Most of the repetitive, algorithmic nerd shit was settled long ago and can be imported via modules. Imported modules are analogous to parts, and your job is to build or maintain the actual machine that produces the outcomes that are desired, making connecting parts to get the various components to interoperate as needed, repairing failing components, or spotting the shoddy welding between them that is making the current machine fail.