• kescusay@lemmy.world
    link
    fedilink
    English
    arrow-up
    107
    arrow-down
    1
    ·
    edit-2
    1 day ago

    Experienced software developer, here. “AI” is useful to me in some contexts. Specifically when I want to scaffold out a completely new application (so I’m not worried about clobbering existing code) and I don’t want to do it by hand, it saves me time.

    And… that’s about it. It sucks at code review, and will break shit in your repo if you let it.

    • FreedomAdvocate@lemmy.net.au
      link
      fedilink
      English
      arrow-up
      2
      arrow-down
      1
      ·
      edit-2
      10 hours ago

      I’ve found it to be great at writing unit tests too.

      I use github copilot in VS and it’s fantastic. It just throws up suggestions for code completions and entire functions etc, and is easily ignored if you just want to do it yourself, but in my experience it’s very good.

      Like you said, using it to get the meat and bones of an application from scratch is fantastic. I’ve used it to make some awesome little command line programs for some of my less technical co-workers to use for frequent tasks, and then even got it to make a nice GUI over the top of it. Takes like 10% of the time it would have taken me to do it - you just need to know how to use it, like with any other tool.

    • billwashere@lemmy.world
      link
      fedilink
      English
      arrow-up
      25
      arrow-down
      4
      ·
      23 hours ago

      Not a developer per se (mostly virtualization, architecture, and hardware) but AI can get me to 80-90% of a script in no time. The last 10% takes a while but that was going to take a while regardless. So the time savings on that first 90% is awesome. Although it does send me down a really bad path at times. Being experienced enough to know that is very helpful in that I just start over.

      In my opinion AI shouldn’t replace coders but it can definitely enhance them if used properly. It’s a tool like everything. I can put a screw in with a hammer but I probably shouldn’t.

      • kescusay@lemmy.world
        link
        fedilink
        English
        arrow-up
        9
        arrow-down
        1
        ·
        21 hours ago

        Like I said, I do find it useful at times. But not only shouldn’t it replace coders, it fundamentally can’t. At least, not without a fundamental rearchitecturing of how they work.

        The reason it goes down a “really bad path” is that it’s basically glorified autocomplete. It doesn’t know anything.

        On top of that, spoken and written language are very imprecise, and there’s no way for an LLM to derive what you really wanted from context clues such as your tone of voice.

        Take the phrase “fruit flies like a banana.” Am I saying that a piece of fruit might fly in a manner akin to how another piece of fruit, a banana, flies if thrown? Or am I saying that the insect called the fruit fly might like to consume a banana?

        It’s a humorous line, but my point is serious: We unintentionally speak in ambiguous ways like that all the time. And while we’ve got brains that can interpret unspoken signals to parse intended meaning from a word or phrase, LLMs don’t.

        • FreedomAdvocate@lemmy.net.au
          link
          fedilink
          English
          arrow-up
          1
          arrow-down
          1
          ·
          10 hours ago

          The reason it goes down a “really bad path” is that it’s basically glorified autocomplete. It doesn’t know anything.

          Not quite true - GitHub Copilot in VS for example can be given access to your entire repo/project/etc and it then “knows” how things tie together and work together, so it can get more context for its suggestions and created code.

          • kescusay@lemmy.world
            link
            fedilink
            English
            arrow-up
            2
            ·
            edit-2
            2 hours ago

            That’s still not actually knowing anything. It’s just temporarily adding more context to its model.

            And it’s always very temporary. I have a yarn project I’m working on right now, and I used Copilot in VS Code in agent mode to scaffold it as an experiment. One of the refinements I included in the prompt file to build it is reminders throughout for things it wouldn’t need reminding of if it actually “knew” the repo.

            • I had to constantly remind it that it’s a yarn project, otherwise it would inevitably start trying to use NPM as it progressed through the prompt.
            • For some reason, when it’s in agent mode and it makes a mistake, it wants to delete files it has fucked up, which always requires human intervention, so I peppered the prompt with reminders not to do that, but to blank the file out and start over in it.
            • The frontend of the project uses TailwindCSS. It could not remember not to keep trying to downgrade its configuration to an earlier version instead of using the current one, so I wrote the entire configuration for it by hand and inserted it into the prompt file. If I let it try to build the configuration itself, it would inevitably fuck it up and then say something completely false, like, “The version of TailwindCSS we’re using is still in beta, let me try downgrading to the previous version.”

            I’m not saying it wasn’t helpful. It probably cut 20% off the time it would have taken me to scaffold out the app myself, which is significant. But it certainly couldn’t keep track of the context provided by the repo, even though it was creating that context itself.

            Working with Copilot is like working with a very talented and fast junior developer whose methamphetamine addiction has been getting the better of it lately, and who has early onset dementia or a brain injury that destroyed their short-term memory.

    • MangoCats@feddit.it
      link
      fedilink
      English
      arrow-up
      19
      arrow-down
      3
      ·
      24 hours ago

      I have limited AI experience, but so far that’s what it means to me as well: helpful in very limited circumstances.

      Mostly, I find it useful for “speaking new languages” - if I try to use AI to “help” with the stuff I have been doing daily for the past 20 years? Yeah, it’s just slowing me down.

    • Alex@lemmy.ml
      link
      fedilink
      English
      arrow-up
      3
      arrow-down
      2
      ·
      23 hours ago

      Sometimes I get an LLM to review a patch series before I send it as a quick once over. I would estimate about 50% of the suggestions are useful and about 10% are based on “misunderstanding”. Last week it was suggesting a spelling fix I’d already made because it didn’t understand the - in the diff meant I’d changed the line already.

    • lIlIlIlIlIlIl@lemmy.world
      link
      fedilink
      English
      arrow-up
      13
      arrow-down
      24
      ·
      1 day ago

      Exactly what you would expect from a junior engineer.

      Let them run unsupervised and you have a mess to clean up. Guide them with context and you’ve got a second set of capable hands.

      Something something craftsmen don’t blame their tools

      • Feyd@programming.dev
        link
        fedilink
        English
        arrow-up
        56
        arrow-down
        3
        ·
        1 day ago

        AI tools are way less useful than a junior engineer, and they aren’t an investment that turns into a senior engineer either.

        • FreedomAdvocate@lemmy.net.au
          link
          fedilink
          English
          arrow-up
          1
          ·
          edit-2
          10 hours ago

          They’re tools that can help a junior engineer and a senior engineer with their job.

          Given a database, AI can probably write a data access layer in whatever language you want quicker than a junior developer could.

        • MangoCats@feddit.it
          link
          fedilink
          English
          arrow-up
          6
          arrow-down
          13
          ·
          24 hours ago

          AI tools are actually improving at a rate faster than most junior engineers I have worked with, and about 30% of junior engineers I have worked with never really “graduated” to a level that I would trust them to do anything independently, even after 5 years in the job. Those engineers “find their niche” doing something other than engineering with their engineering job titles, and that’s great, but don’t ever trust them to build you a bridge or whatever it is they seem to have been hired to do.

          Now, as for AI, it’s currently as good or “better” than about 40% of brand-new fresh from the BS program software engineers I have worked with. A year ago that number probably would have been 20%. So far it’s improving relatively quickly. The question is: will it plateau, or will it improve exponentially?

          Many things in tech seem to have an exponential improvement phase, followed by a plateau. CPU clock speed is a good example of that. Storage density/cost is one that doesn’t seem to have hit a plateau yet. Software quality/power is much harder to gauge, but it definitely is still growing more powerful / capable even as it struggles with bloat and vulnerabilities.

          The question I have is: will AI continue to write “human compatible” software, or is it going to start writing code that only AI understands, but people rely on anyway? After all, the code that humans write is incomprehensible to 90%+ of the humans that use it.

          • Feyd@programming.dev
            link
            fedilink
            English
            arrow-up
            9
            arrow-down
            3
            ·
            24 hours ago

            Now, as for AI, it’s currently as good or “better” than about 40% of brand-new fresh from the BS program software engineers I have worked with. A year ago that number probably would have been 20%. So far it’s improving relatively quickly. The question is: will it plateau, or will it improve exponentially?

            LOL sure

            • MangoCats@feddit.it
              link
              fedilink
              English
              arrow-up
              4
              arrow-down
              3
              ·
              23 hours ago

              LOL sure

              I’m not talking about the ones that get hired in your 'leet shop, I’m talking about the whole damn crop that’s just graduated.

          • Feyd@programming.dev
            link
            fedilink
            English
            arrow-up
            10
            arrow-down
            4
            ·
            24 hours ago

            It is based on my experience, which I trust immeasurably more than rigged “studies” done by the big LLM companies with clear conflict of interest.

            • queermunist she/her@lemmy.ml
              link
              fedilink
              English
              arrow-up
              3
              arrow-down
              1
              ·
              edit-2
              19 hours ago

              Okay, but like-

              You could just be lying.

              You could even be a chatbot, programmed to hype AI in comments sections.

              So I’m going to trust studies, not some anonymous commenter on the internet who says “trust me bro!”

              • Feyd@programming.dev
                link
                fedilink
                English
                arrow-up
                3
                ·
                edit-2
                19 hours ago

                Huh? I’m definitely not hyping AI. If anything it would be the opposite. We’re also literally in the comment section for an a study about AI productivity which is the first remotely reputable study I’ve even seen. The rest have been rigged marketing stunts. As far as judging my opinion about the productivity of AI against junior developers against studies, why don’t you bring me one that isn’t “we made an artificial test then directly trained our LLM on the questions so it will look good for investors”? I’ll wait.

        • errer@lemmy.world
          link
          fedilink
          English
          arrow-up
          7
          arrow-down
          8
          ·
          1 day ago

          Yeah but a Claude/Cursor/whatever subscription costs $20/month and a junior engineer costs real money. Are the tools 400 times less useful than a junior engineer? I’m not so sure…

          • Feyd@programming.dev
            link
            fedilink
            English
            arrow-up
            16
            arrow-down
            2
            ·
            24 hours ago

            The point is that comparing AI tools to junior engineers is ridiculous in the first place. It is simply marketing.

          • lIlIlIlIlIlIl@lemmy.world
            link
            fedilink
            English
            arrow-up
            7
            arrow-down
            1
            ·
            1 day ago

            Even at $100/month you’re comparing to a > $10k/month junior. 1% of the cost for certainly > 1% functionality of a junior.

            You can see why companies are tripping over themselves to push this new modality.

          • finalarbiter@lemmy.dbzer0.com
            link
            fedilink
            English
            arrow-up
            2
            arrow-down
            1
            ·
            21 hours ago

            This line of thought is short sighted. Your senior engineers will eventually retire or leave the company. If everyone replaces junior engineers with ai, then there will be nobody with the experience to fill those empty seats. Then you end up with no junior engineers and no senior engineers, so who is wrangling the ai?

            • errer@lemmy.world
              link
              fedilink
              English
              arrow-up
              4
              ·
              19 hours ago

              This isn’t black and white. There will always be some junior hires. No one is saying replace ALL of them. But hiring 1 junior engineer instead of 3? Maybe…and that’s already happening to some degree.

              • queermunist she/her@lemmy.ml
                link
                fedilink
                English
                arrow-up
                2
                ·
                19 hours ago

                And when the current senior programmers retire the field of juniors that are coming to replace them will be much smaller.

                • bitwize01@reddthat.com
                  link
                  fedilink
                  English
                  arrow-up
                  3
                  ·
                  18 hours ago

                  Not that I agree, but if you believe that the LLMs will continuously improve, then in 5-10 years you may only need 1/3rd the seniors, to oversee and prompt. Again, that’s what these CEOs are relying on.

      • 5too@lemmy.world
        link
        fedilink
        English
        arrow-up
        17
        arrow-down
        1
        ·
        1 day ago

        The difference being junior engineers eventually grow up into senior engineers.

      • corsicanguppy@lemmy.ca
        link
        fedilink
        English
        arrow-up
        7
        arrow-down
        3
        ·
        24 hours ago

        Exactly what you would expect from a junior engineer.

        Except junior engineers become seniors. If you don’t understand this … are you HR?

        • lIlIlIlIlIlIl@lemmy.world
          link
          fedilink
          English
          arrow-up
          4
          arrow-down
          5
          ·
          edit-2
          24 hours ago

          They might become seniors for 99% more investment. Or they crash out as “not a great fit” which happens too. Juniors aren’t just “senior seeds” to be planted

          • FreedomAdvocate@lemmy.net.au
            link
            fedilink
            English
            arrow-up
            2
            ·
            edit-2
            10 hours ago

            Interesting downvotes, especially how there are more than there are upvotes.

            Do people think “junior” and “senior” here just relate to age and/or time in the workplace? Someone could work in software dev for 20 years and still be a junior dev. It’s knowledge and skill level based, not just time-in-industry based.