• MagicShel@lemmy.zip
    link
    fedilink
    English
    arrow-up
    39
    arrow-down
    1
    ·
    2 days ago

    That middle graph is absolute fucking bullshit. AI is not fucking ever going to replace 75% of developers or I’ve been working way too fucking hard for way to little pay these past 30 years. It might let you cut staff 5-10% because it enables folks to accomplish certain things a bit faster.

    Christ on a fucking crutch. Ask developers who are currently using AI (not the ones working for AI companies) how much time and effort it actually saves them. They will tell you.

    • NullPointer@programming.dev
      link
      fedilink
      English
      arrow-up
      24
      arrow-down
      1
      ·
      2 days ago

      I use it here and there. it just seems to shift effort from writing code to reading and fixing code. the “amount” of work is about the same.

      • Flamekebab@piefed.social
        link
        fedilink
        English
        arrow-up
        6
        ·
        1 day ago

        I hear that. Given I need practice in refactoring code to improve my skills, it’s not useless to me right now but overall it doesn’t seem like a net gain.

    • Zenith@lemm.ee
      link
      fedilink
      arrow-up
      8
      ·
      2 days ago

      It doesn’t have to make sense or make the outcome be better, the only thing it has to do is make the company look better on paper to its shareholders. If something can make the company look better on paper it will be done, the quality of the work is not relevant

      • orcrist@lemm.ee
        link
        fedilink
        English
        arrow-up
        6
        ·
        2 days ago

        Not only the shareholders. If some of the higher level administration can get richer in the short run, even if that might actually hurt the shareholders in the medium run, you can bet that many of them will do so.

    • theneverfox@pawb.social
      link
      fedilink
      English
      arrow-up
      4
      arrow-down
      4
      ·
      2 days ago

      I use it so much. All my Google searches for syntax or snippets? Web searches are unuseable at this point, AI can spit it out faster. But the real savings? Repetitive code. I suck at it, I always make typos and it’s draining. I just toss in a table or an api response and tell it what I want and boom

      It probably does write 75% of my code by lines, but maybe 5% of the business logic is AI (sometimes I just let it take a crack at a problem, but usually if I have to type it out I might as well code it)

      What it’s good at drains my concentration, so doing the grunt work for me is a real force multiplier. I don’t even use it every day, but it might be a 3x multiplier for me and could improve

      But here’s the thing - programmers are not replaceable. Not by other humans, not by AI - you learn hyper specific things about what you work on

      • Sleepless One@lemmy.ml
        link
        fedilink
        English
        arrow-up
        10
        ·
        2 days ago

        But the real savings? Repetitive code. I suck at it, I always make typos and it’s draining.

        It’s hard to say without being immersed in the codebase you work on, but wouldn’t making your code DRY (when possible) take care of a lot of the repetition without needing to write a bunch of incredibly similar code (be it by hand or with an LLM)?

        • TehPers@beehaw.org
          link
          fedilink
          English
          arrow-up
          4
          ·
          1 day ago

          I haven’t used a LLM to help code in a while (yes I’ve tried), but I found them useful for repetitive configs, like asset files. Also sometimes it makes sense to just have 5 slightly different lines of code in a row instead of a new function.

          In general though, reasonable use of DRY is a good idea. There will still be repetitive parts though where a LLM autocompleter lets you just hit tab 5 times.

        • theneverfox@pawb.social
          link
          fedilink
          English
          arrow-up
          1
          arrow-down
          1
          ·
          1 day ago

          No, it’s all different - like a normal use case is “write me a stored procedure to optionally update all fields on a row on this table” or “given the following json response, build a class to parse it into”

          We have a ridiculous database and multiple new api’s to integrate with every year, so this comes up a lot

      • groucho@lemmy.sdf.org
        link
        fedilink
        English
        arrow-up
        6
        arrow-down
        1
        ·
        2 days ago

        But the real savings? Repetitive code. I suck at it, I always make typos and it’s draining. I just toss in a table or an api response and tell it what I want and boom

        Get better at it, manually, or you’ll suck at it forever. It’s a skill like anything else.

        • MagicShel@lemmy.zip
          link
          fedilink
          English
          arrow-up
          2
          arrow-down
          1
          ·
          1 day ago

          I agree, but I acknowledge we could be at a “cursive writing” moment where something that was once a critical skill becomes irrelevant. That’s sort of a pending question at this point.

          I mean I’ve spent a lot of time writing regex to automate large sets of changes. Sometimes it can be a bit fiddly to get the regex just so. Like replacing direct field access with getters where you have to find the field access and change .foo to .getFoo() and the capitalization can take a couple of tries to get just right.

          With AI you can literally just say “replace all direct field access (e.g. thing.foo) with getters and setters” and the AI will do it in under a second. It will still be a very useful skill to be able to do things like that with regex because not everything is so easy to communicate to the AI, but it will become less frequently needed and a lot of developers who never learned that skill will get by using AI and just doing the rare things AI can’t do with repetitive keyboarding.

          • groucho@lemmy.sdf.org
            link
            fedilink
            English
            arrow-up
            7
            ·
            1 day ago

            I see cursive writing brought up a lot in these conversations and I don’t think it applies. Firstly, the cognitive load of writing code is higher than writing your letters so they join up. You’re not just making sure you write the letters correctly, you’re also following the syntax rules of the language you’re writing. And while you’re writing, you’re reinforcing those rules in your head. Yes, initially it’s hard and boring.

            And yeah, sometimes you get it wrong or forget to capitalize. That is a feature, not a bug. The more you do it, the easier it gets. I spent a couple weeks trying to use CoPilot and at the end I still had to correct its shitty code, which either hallucinated features I wasn’t implementing, or hallucinated syntax rules I wasn’t using. It was like spending a sprint trying to get a subpar intern up to speed. At the end of those two weeks, my manual coding accuracy took a noticeable hit.

            I complained to higher-ups and they told me “oh it’s definitely a skill getting the prompt written correctly”, which was patronizing and irritating. Would I rather spend time getting good at asking the proprietary magic thinky box to maybe write good code this time, or would I rather get better at coding?

            I mean I’ve spent a lot of time writing regex to automate large sets of changes. Sometimes it can be a bit fiddly to get the regex just so. Like replacing direct field access with > getters where you have to find the field access and change .foo to .getFoo() and the capitalization can take a couple of tries to get just right.

            At least you’re learning more about regexes when you do this. Yes, there’s menial bullshit in coding. There’s menial bullshit in every field. Some of it gets abstracted away (syntax highlighting to help with comprehension), some of it gets kicked around and ultimately does not impress (VB’s drag-and-drop coding), and some of it stays because it’s necessary. Nobody likes doing manual stuff, but sometimes it’s preferable to trying to automate it.

            Also, I’ve never heard of anyone paying $20 a month for the privilege of not writing in cursive, or being unable to write because they don’t have internet. Something to think about.

            • MagicShel@lemmy.zip
              link
              fedilink
              English
              arrow-up
              4
              ·
              1 day ago

              You’re not just making sure you write the letters correctly, you’re also following the syntax rules of the language you’re writing. And while you’re writing, you’re reinforcing those rules in your head.

              I get where you’re coming from, but I’ve worked with a lot of bad developers who never got the hang of this even as mid-level developers. On the other hand, I understand the utility of knowing how to do these things for ourselves. There are a number of “black-box” libraries that were just an absolute mystery to me until I tried implementing them myself and began to see these libraries are usually not complex so much as they are thorough in covering edge cases that 90% of users will never care about.

              It would definitely be a shame if these tools caused new developers to bypass fundamental skill development. My only hesitation is the number of developers who should’ve developed those skills and never did before AI. There’s something wrong either with how developers are learning or who is getting into development.

              I spent a couple weeks trying to use CoPilot and at the end I still had to correct its shitty code, which either hallucinated features I wasn’t implementing, or hallucinated syntax rules I wasn’t using.

              We are using CoPilot. As a code-completion engine it is handy. I’m much more skeptical about the new code it writes. Like you, I have not had good experiences with that.

              Also, I’ve never heard of anyone paying $20 a month for the privilege of not writing in cursive, or being unable to write because they don’t have internet. Something to think about.

              You’re right. Tool access is certainly something to think about. I have more nuanced thoughts, but I don’t want to disagree just to disagree, you know?

              • groucho@lemmy.sdf.org
                link
                fedilink
                English
                arrow-up
                5
                ·
                1 day ago

                On the other hand, I understand the utility of knowing how to do these things for ourselves. There are a number of “black-box” libraries that were just an absolute mystery to me until I tried implementing them myself and began to see these libraries are usually not complex so much as they are thorough in covering edge cases that 90% of users will never care about.

                Yeah, that’s one of my big fears. Not necessarily losing my job to an AI, but AI exacerbating existing bad practices.

                When I started my current job, we had one rock star coder responsible for a fairly fiddly piece of our product. He went heads-down for two weeks and churned out pages of densely-written python without comments. It did what it was supposed to do, flawlessly. He left the team shortly afterward to work on a bigger project, and we got word from the higher-ups that we had to support a new feature upstream in that code. And then another. And so on. Nothing’s commented. Everything’s over-optimized. We eventually ended up just cross-compiling the upstream logic and using that in our stack because it was easier than using his impenetrable stuff.

                In the end, we had to fix it with menial, boring, aggravating manual work anyway. We got ourselves into that situation without AI, but I could see something like that becoming more prevalent. And that was working code. Imagine getting a SEV, and everyone on the blame list shrugs and says “idk, I had CoPilot do it.”

                It would definitely be a shame if these tools caused new developers to bypass fundamental skill development. My only hesitation is the number of developers who should’ve developed those skills and never did before AI. There’s something wrong either with how developers are learning or who is getting into development.

                Yeah, this is part of it. There’s maybe the science of programming and also, for lack of a better term, the craft: writing maintainable code, handling a SEV, thinking in terms of uptime, setting things up to be reverted easily, shutting down neurotic code reviewers, testing your code… stuff like that. Universities are good at the science part. Internships, theoretically, handle the rest. This isn’t an AI issue, but I could see AI making this problem a lot worse.

        • theneverfox@pawb.social
          link
          fedilink
          English
          arrow-up
          1
          arrow-down
          1
          ·
          1 day ago

          I’ve been doing it for more than a decade without help, I’m not any better at spelling or misclicks

          And to be clear, I can do it - I just really, really don’t want to. I hate it so much, my eyes glaze over and I have to force myself every second of the way. It’s not interesting, there’s no puzzles involved… It’s basically data entry

          • groucho@lemmy.sdf.org
            link
            fedilink
            English
            arrow-up
            3
            arrow-down
            1
            ·
            1 day ago

            It’s not interesting, there’s no puzzles involved… It’s basically data entry

            So? Show me an industry that’s 100% interesting all the time. Artists still have to stretch and gesso their canvases. Rock stars still have to deal with band drama and touring logistics. Directors have to work their budgets and wrangle big egos. Why should software, which is basically using fancy math to tell the dumbest guy in the room exactly what to do, be any different?

            There’s this awful idea that everything should be fun and nobody should struggle with anything or be forced to do anything menial. We want to be instant experts without going through the boring or hard stuff. And we’re willing to offload more and more of this onto proprietary black boxes in exchange for… what?

            • theneverfox@pawb.social
              link
              fedilink
              English
              arrow-up
              2
              ·
              22 hours ago

              So I should suffer just to suffer? You listed a whole lot of things that they hire people to do just about as soon as they can so they can. And offloading that let’s them do their actual job better

              I work with black boxes all the time. When I have a black box, I poke and prod it until I understand how to make it do what I want. And this particular black box was interesting, so I decided to open it up and learn how it works

              That’s the essence of software development. My job is not typing or data entry, my job is to trick a rock into doing things humans don’t want to do

    • HelloRoot@lemy.lol
      link
      fedilink
      English
      arrow-up
      1
      arrow-down
      7
      ·
      edit-2
      2 days ago

      AI writing code for me made me the software architect I always dreamed of becoming.

      I fucking LOVE to think about a hard problem for days, planning, researching, comming up with elegant solutions, doing quick POC, thinking what needs to be refactored for it to scale to a real life scenario, then documenting it all in a way that is properly communicating the important aspects in an easy to understand way. It’s so exciting!

      And I fucking HATE having to sit down and actually type out the solved code for hours and hours. It’s so boring.

      Best 20$ per month subscribtion I’ve ever had.

    • masterspace@lemmy.ca
      link
      fedilink
      English
      arrow-up
      5
      arrow-down
      9
      ·
      edit-2
      2 days ago

      It does save a lot of time and effort, and does lead to better code in the hands of a skilled developer. Writing out thorough test code and actually doing proper test driven development suddenly becomes a lot less onerous.

      Their graph also has no numbers and is just there to help visualize the difference they’re referring to.

      • MagicShel@lemmy.zip
        link
        fedilink
        English
        arrow-up
        12
        ·
        2 days ago

        To the first part, I agree. A skilled developer who can quickly separate the wheat from the chaff can get a boost out of AI. I’d put it at around 5-10%, but I’ve had some tiny projects where it was 400% boost. I think it’s a small net gain.

        As for your second point I just have to disagree. There are no numbers but it is clearly selling the idea of the majority of code being AI generated, and that’s bullshit whether it’s an outright lie with numbers, or merely vaguely misleading. It’s like when someone cuts off the bottom of a graph to make relative change look huge. It wants people to glance at it, get the wrong idea, and move off without curiosity.

        • Feyd@programming.dev
          link
          fedilink
          arrow-up
          15
          arrow-down
          1
          ·
          2 days ago

          To the first part, I agree. A skilled developer who can quickly separate the wheat from the chaff can get a boost out of AI.

          It takes less time to just write code than to babysit an artificial dumbass.

        • masterspace@lemmy.ca
          link
          fedilink
          English
          arrow-up
          2
          arrow-down
          5
          ·
          edit-2
          2 days ago

          Oh I’m glad you’re the be all know all arbiter of all software developers, and not just some grump on the internet.